how2j.cn

-->
下载区
文件名 文件大小
请先登录 18m
增值内容 18m
18m

解压rar如果失败,请用5.21版本或者更高版本的winrar

点击下载 winrar5.21
步骤 1 : ForeAction中的参数msg   
步骤 2 : 新建Action4Parameter   
步骤 3 : Action4Result继承Action4Parameter   
步骤 4 : Action继承关系   
步骤 5 : 完整的Action4Parameter   
步骤 6 : 可运行项目   

步骤 1 :

ForeAction中的参数msg

edit
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
@Action("foreregister") public String register() { user.setName(HtmlUtils.htmlEscape(user.getName())); boolean exist = userService.isExist(user.getName()); if(exist){ msg = "用户名已经被使用,不能使用"; return "register.jsp"; } userService.save(user); return "registerSuccessPage"; }
package com.how2java.tmall.action; import org.apache.struts2.convention.annotation.Action; import org.springframework.web.util.HtmlUtils; public class ForeAction extends Action4Result { String msg; @Action("foreregister") public String register() { user.setName(HtmlUtils.htmlEscape(user.getName())); boolean exist = userService.isExist(user.getName()); if(exist){ msg = "用户名已经被使用,不能使用"; return "register.jsp"; } userService.save(user); return "registerSuccessPage"; } @Action("forehome") public String home() { categorys = categoryService.list(); productService.fill(categorys); productService.fillByRow(categorys); return "home.jsp"; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
步骤 2 :

新建Action4Parameter

edit
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.action; public class Action4Parameter extends Action4Service { //错误消息 protected String msg; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
package com.how2java.tmall.action;

public class Action4Parameter extends Action4Service {
	//错误消息
	protected String msg;

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
		
}
步骤 3 :

Action4Result继承Action4Parameter

edit
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.action; import org.apache.struts2.convention.annotation.Namespace; import org.apache.struts2.convention.annotation.ParentPackage; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; @Namespace("/") @ParentPackage("basicstruts") @Results( { /*全局的*/ @Result(name="success.jsp", location="/success.jsp"), @Result(name="fail.jsp", location="/fail.jsp"), /*分类管理*/ @Result(name="listCategory", location="/admin/listCategory.jsp"), @Result(name="editCategory", location="/admin/editCategory.jsp"), @Result(name="listCategoryPage", type = "redirect", location="/admin_category_list"), /*属性管理*/ @Result(name="listProperty", location="/admin/listProperty.jsp"), @Result(name="editProperty", location="/admin/editProperty.jsp"), @Result(name="listPropertyPage", type = "redirect", location="/admin_property_list?category.id=${property.category.id}"), /*产品管理*/ @Result(name="listProduct", location="/admin/listProduct.jsp"), @Result(name="editProduct", location="/admin/editProduct.jsp"), @Result(name="listProductPage", type = "redirect", location="/admin_product_list?category.id=${product.category.id}"), /*产品图片管理*/ @Result(name="listProductImage", location="/admin/listProductImage.jsp"), @Result(name="listProductImagePage", type = "redirect", location="/admin_productImage_list?product.id=${productImage.product.id}"), /*属性值管理*/ @Result(name="editPropertyValue", location="/admin/editProductValue.jsp"), /*用户管理*/ @Result(name="listUser", location="/admin/listUser.jsp"), /*订单管理*/ @Result(name="listOrder", location="/admin/listOrder.jsp"), @Result(name="listOrderPage", type = "redirect", location="/admin_order_list"), /*前台 服务端跳转*/ @Result(name="home.jsp", location="/home.jsp"), @Result(name="register.jsp", location="/register.jsp"), @Result(name="login.jsp", location="/login.jsp"), @Result(name="product.jsp", location="/product.jsp"), @Result(name="category.jsp", location="/category.jsp"), @Result(name="searchResult.jsp", location="/searchResult.jsp"), @Result(name="buy.jsp", location="/buy.jsp"), @Result(name="cart.jsp", location="/cart.jsp"), @Result(name="alipay.jsp", location="/alipay.jsp"), @Result(name="payed.jsp", location="/payed.jsp"), @Result(name="bought.jsp", location="/bought.jsp"), @Result(name="confirmPay.jsp", location="/confirmPay.jsp"), @Result(name="orderConfirmed.jsp", location="/orderConfirmed.jsp"), @Result(name="review.jsp", location="/review.jsp"), /*前台 客户端跳转*/ @Result(name="registerSuccessPage", type = "redirect", location="/registerSuccess.jsp"), @Result(name="homePage", type = "redirect", location="forehome"), @Result(name="buyPage", type = "redirect", location="forebuy?oiids=${oiid}"), @Result(name="alipayPage", type = "redirect", location="forealipay?order.id=${order.id}&total=${total}"), @Result(name="reviewPage", type = "redirect", location="forereview?order.id=${order.id}&showonly=${showonly}"), }) public class Action4Result extends Action4Parameter { }
步骤 4 :

Action继承关系

edit
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
Action继承关系
步骤 5 :

完整的Action4Parameter

edit
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package com.how2java.tmall.action; import org.apache.struts2.ServletActionContext; public class Action4Parameter extends Action4Service { //错误消息 protected String msg; //分类页面的排序变量 protected String sort; //当前所处于的web应用名称,如果按照教程来,就是tmall_ssh protected String contextPath; //搜索关键字 protected String keyword; //购物数量 protected int num; //立即购买生成的订单项id protected int oiid; //通过购物车选中的多个订单项id protected int[] oiids; //结算页面显示的总金额 protected float total; //在进行评论的页面,是否只显示评论记录,而不提供输入 protected boolean showonly; public Action4Parameter(){ contextPath = ServletActionContext.getServletContext().getContextPath(); } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public String getSort() { return sort; } public void setSort(String sort) { this.sort = sort; } public String getContextPath() { return contextPath; } public void setContextPath(String contextPath) { this.contextPath = contextPath; } public String getKeyword() { return keyword; } public void setKeyword(String keyword) { this.keyword = keyword; } public int getNum() { return num; } public void setNum(int num) { this.num = num; } public int getOiid() { return oiid; } public void setOiid(int oiid) { this.oiid = oiid; } public int[] getOiids() { return oiids; } public void setOiids(int[] oiids) { this.oiids = oiids; } public float getTotal() { return total; } public void setTotal(float total) { this.total = total; } public boolean isShowonly() { return showonly; } public void setShowonly(boolean showonly) { this.showonly = showonly; } }
增值内容,请先登录
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2018-12-12 请问,为啥不把Action4Parameter放最前面呢?
Nick_LEE

站长老师,您好。 请问,这些继承需要按照特定的顺序么? 为啥不把Action4Parameter放最前面呢?就不用修改后面的继承关系了 谢谢




2 个答案

我是傻逼
答案时间:2020-07-07
好像他说的是 直接Action4Upload继承Action4Parameter就好了

how2j
答案时间:2018-12-12
就是这样才最简单呀。 你要放最前面,不是每个XXXAction都要修改吗? 而这样放,之需要修改 Action4Result 就完了呀



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到




2018-07-23 步骤四图片内容有误
Anshay




回复里面不能加图片,所以我新开一个提问。 代码里面没有错,网站上的描述也没错,是图片和描述的内容不符合。
加载中

							

							


1 个答案

how2j
答案时间:2018-07-25
果然是这样呢,项目都上了1年多了,居然没人看出来。 谢谢指点,回头就更新 :)



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-07-19 步骤四图片内容有误




提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 已下架的-天猫整站SSH-Action重构-参数 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 578362961
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图