控制层action获取jsp传递过来的参数有哪几种:


1、通过request获取;
HttpServletRequest request = ServletActionContext.getRequest();
String pid = request.getParater("Pid");
2、在action中分别定义表单的属性,然后set,get方法,即可获取jsp传递过来的数据;
private String pid ;
private String pname;

//省略set,get方法...
private Log log = LogFactory.getLog(HelloAtion.class);
public String register(){
log.info("获取页面数值pid:+pid+\t pname:"+pname);
return "reg";
}
缺点: 如果属性过多,该类中的方法相当多。属性跟模型中的属性不是重名,是一种资源的浪费;

3、在action中直接定义模型bean,然后对bean进行set,get,jsp页面上的属性"别名.属性名"来设置表单;
private UserBean userBean;
//省略set,get方法....
private Log log = LogFactory.getLog(HelloAction.class);
log.info("获取页面的参数pid:"+userBean);
return "reg";
}
缺点:jsp页面上的表单name属性,看着别扭;

4、在action中实现ModelDeriven接口,jsp页面传递过来的数据,表单域中如果没有指明"别名",属性就匹配ModelDriven
中的模型bean
public class UserTwoAtion implements ModelDriven<UserBean>{}
优点:form中的表单的name名称;
缺点:action中只能实现一个ModelDriven接口,就表示jsp页面只能向一个模型bean中注入数据;
如果在一个action类中相同时在两个或多个bean注入数据,请参考第三种获取值方式;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM