struts2中的Action接收表单传递过来的参数有3种方法
2015-07-02 14:47
746 查看
struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post" name="form1"> 用户名:<s:textfield name="username"/><br/> 密 码:<s:password name="password"/><br/> <s:submit value="提交"/> </form> 1.在Action类中定义表单属性,两者属性名称必须一致。提供setter,getter方法。即可接收到表单传过来的参数. 这种接收参数的方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Action类中充斥着setter,getter方法,程序结构不是很美观。 2.把表单传递过来的参数封装成一个类,然后调用其中的属性. 如,把login.jsp页面要传来的参数进行封装 private String 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方法中,定义该类的对象就可以了,如 public class loginAction extends ActionSupport{ private Users users; public Users getUsers(){ return users; } public void setUsers(Users users){ this.users=users; } /* 传递过来的参数都封装在users中了,用getter方法取值就可以了 */ } 通过这种方法传值,还必须在jsp页面做一下处理,login.jsp中from1的属性名应该改成这样: 登陆表单login.jsp: <form action="login" method="post" name="form1"> 用户名:<s:textfield name="users.username"/><br/> 密 码:<s:password name="users.password"/><br/> <s:submit value="提交"/> </form> 这种方法,在struts开发中是很常用的一种方法! 3.通过实现ModelDriven接口接收表单数据 首先Action类必须实现ModelDriven接口,同样把表单传来的数据封装起来,Action类中必须实例化该对象,并且要重写getModel()方法 public class loginAction extends ActionSupport implements ModelDriven<Users>{ private Users users =new Users(); public Users getModel(){ return users; } /* 表单传来的参数封装在users对象中 表单属性名不需要加上引用users对象,直接传参数名 */ }
相关文章推荐
- Java web项目引入其他java项目支持
- java.lang.OutOfMemoryError: PermGen space
- Maven项目出错——java.lang.NoClassDefFoundError
- mybatis+springMVC新感悟
- 多态
- 【Java基础学习笔记】Thread+JLabel实现线程
- spring 注解扫描bean配置
- Java中的字符替换
- Struts2中的ModelDriven机制及其运用, ValueStack(值栈)
- 调用
- windows平台下,采用kafka作为消息中间件,consumer和producer采用java api (环境搭建)
- java注解Annotation的使用实例
- java实现文件上传并预览效果
- Java中的集合类型的继承关系图
- springmvc学习笔记---idea创建springmvc项目
- Spring与事务管理
- 解决Java连接MySQL存储过程返回参数值为乱码问题
- Java的IO操作中有面向字节(Byte)和面向字符(Character)两种方式
- 细节取胜的javadoc
- springmvc从一个controller跳转到另一个controller