Struts2前台向后台传值方法
2016-07-07 11:48
447 查看
Struts2前台向后台传值方法
struts2中的Action接收表单传递过来的参数有3种方法:
如,登陆表单login.jsp:
<formaction="login" method="post" name="form1">
用户名:<s:textfieldname="username"/><br/>
密码:<s:passwordname="password"/><br/>
<s:submit value="提交"/>
</form>
1.在Action类中定义表单属性,两者属性名称必须一致。提供setter,getter方法。即可接收到表单传过来的参数.
这种接收参数的方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Action类中充斥着setter,getter方法,程序结构不是很美观。
2.把表单传递过来的参数封装成一个类,然后调用其中的属性.
如,把login.jsp页面要传来的参数进行封装
privateString username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
然后再Action方法中,定义该类的对象就可以了,如
publicclass loginAction extends ActionSupport{
privateUsers users;
publicUsers getUsers(){
returnusers;
}
publicvoid setUsers(Users users){
this.users=users;
}
/*
传递过来的参数都封装在users中了,用getter方法取值就可以了
*/
}
通过这种方法传值,还必须在jsp页面做一下处理,login.jsp中from1的属性名应该改成这样:
登陆表单login.jsp:
<formaction="login" method="post" name="form1">
用户名:<s:textfieldname="users.username"/><br/>
密码:<s:passwordname="users.password"/><br/>
<s:submit value="提交"/>
</form>
这种方法,在struts开发中是很常用的一种方法!
3.通过实现ModelDriven接口接收表单数据
首先Action类必须实现ModelDriven接口,同样把表单传来的数据封装起来,Action类中必须实例化该对象,并且要重写getModel()方法
publicclass loginAction extends ActionSupport implements ModelDriven<Users>{
privateUsers users =new Users();
publicUsers getModel(){
returnusers;
}
/*
表单传来的参数封装在users对象中
表单属性名不需要加上引用users对象,直接传参数名
*/
}
struts2中的Action接收表单传递过来的参数有3种方法:
如,登陆表单login.jsp:
<formaction="login" method="post" name="form1">
用户名:<s:textfieldname="username"/><br/>
密码:<s:passwordname="password"/><br/>
<s:submit value="提交"/>
</form>
1.在Action类中定义表单属性,两者属性名称必须一致。提供setter,getter方法。即可接收到表单传过来的参数.
这种接收参数的方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Action类中充斥着setter,getter方法,程序结构不是很美观。
2.把表单传递过来的参数封装成一个类,然后调用其中的属性.
如,把login.jsp页面要传来的参数进行封装
privateString username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
然后再Action方法中,定义该类的对象就可以了,如
publicclass loginAction extends ActionSupport{
privateUsers users;
publicUsers getUsers(){
returnusers;
}
publicvoid setUsers(Users users){
this.users=users;
}
/*
传递过来的参数都封装在users中了,用getter方法取值就可以了
*/
}
通过这种方法传值,还必须在jsp页面做一下处理,login.jsp中from1的属性名应该改成这样:
登陆表单login.jsp:
<formaction="login" method="post" name="form1">
用户名:<s:textfieldname="users.username"/><br/>
密码:<s:passwordname="users.password"/><br/>
<s:submit value="提交"/>
</form>
这种方法,在struts开发中是很常用的一种方法!
3.通过实现ModelDriven接口接收表单数据
首先Action类必须实现ModelDriven接口,同样把表单传来的数据封装起来,Action类中必须实例化该对象,并且要重写getModel()方法
publicclass loginAction extends ActionSupport implements ModelDriven<Users>{
privateUsers users =new Users();
publicUsers getModel(){
returnusers;
}
/*
表单传来的参数封装在users对象中
表单属性名不需要加上引用users对象,直接传参数名
*/
}
相关文章推荐
- 《深入理解Java虚拟机》内存分配策略
- 解决Eclipse无法自动编译项目
- java基础---->java中正则表达式二
- Java并发包:CountDownLatch和CyclicBarrier
- java实现的读写锁
- Java类型擦除
- extjs4 表单提交到struts2 action 的响应问题
- 浅谈Java运行时数据区
- 解决webservice的WSDL文件无法转成java代码
- Java序列化(Serialization) 机制
- dubbo + spring boot
- 复习(java):语法:java基础库
- java反射概念加案例
- Myeclipse中文乱码问题
- Java IO工作机制分析
- 命令行运行java
- java中的boolean是否有默认值?
- 谈Java中的hashcode方法
- java nio(non-blocking io)简介及和io
- myBatis + SpringMVC上传、下载文件、显示byte图片文件、等比例缩放图片