Struts2请求参数封装一
不借助实体类,属性驱动
请求参数封装的第一种方式:
- 不借助实体类,属性驱动。
- 表单数据接收都定义在动作类中,即动作类与模型数据写在一起
- 条件:表单元素的name属性取值与模型数据的getter方法名去掉“get”后小写首字母相同
注意:
1.struts2 的post方法自带解决中文乱码问题,get未解决
2.strtuts2 自动转换表单提交的数据类型(
字符串数组会转换成字符串,字符串元素用逗号和空格分隔开
基本类型自动转换
日期类型 yyyy-mm-dd格式会转换成日期类型Date
)
form表单如下:
<form action="${pageContext.request.contextPath}/hello" method="post">
user:<input type="text" name="user"/><br/>
age:<input type="text" name="age"><br/>
hobby: <input type="checkbox" value="Eating" name="hobby">Eating<input/>
<input type="checkbox" value="Sleeping" name="hobby">Sleeping<input/>
<input type="checkbox" value="Coding" name="hobby">Coding<input/><br/>
<input type="submit" value="submit">
</form>
struts.xml配置:
<struts>
<constant name="strutrs.devMode" value="true"/>
<package name="p1" extends="struts-default">
<action name="hello" method="sayHello" class="com.myit.web.action.HelloAction" >
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
HelloAction文件:
package com.myit.web.action;
import com.opensymphony.xwork2.ActionSupport;
/**
* 请求参数封装的第一种方式:
* 不借助实体类,属性驱动。
* 表单数据接收都定义在动作类中,即动作类与模型数据写在一起
* 条件:表单元素的name属性取值与模型数据的getter方法名去掉“get”后小写首字母相同
*
*/
public class HelloAction extends ActionSupport {
private String user;
private Integer age;
private String hobby;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String sayHello() {
System.out.println(user+"------"+age+"------"+hobby);
return SUCCESS;
}
}
结果如下: