解决Struts 2 修改时页面未显示字段置空方法

1、在struts配置文件加上<default-interceptor-ref name="paramsPrepareParamsStack"/> 此作用为执行prepare时不能获取页面id的问题

2、每个Action 要implements com.opensymphony.xwork2.Preparable ;加上如下两个方法;
	@Override
	public void prepare() throws Exception {
		// TODO Auto-generated method stub
		
	}
	/**
	 * 在保存之前从数据重新加载数据,防止未在页面显示的数据置空
	 * @throws Exception
	 */
	public void prepareUpdate() throws Exception { 
		// TODO Auto-generated method stub
		
		if(id==null){
			commodity = new Commodity();}
		else{			
			commodity = (Commodity)commodityService.getEntity(id);
		}
		
	}

第二个方法名为prepare+修改保存实现方法名(首字母大写)
3、在修改jsp页面 form 里必须有<input type="hidden" name = "id"  value="${id}"  id="id"/>

你可能感兴趣的:(jsp,struts)