1.获取请求参数(字段)
- 对每个参数设置setter方法,由拦截器使参数注入
- jsp穿来空字符串或空格,接收的参数为null
- jsp中
<s:form action="/myMaven/Employee">
帐号<s:textfield name="username"/><br>
密码<s:password name="password"/><br>
<s:submit value="do it"/>
</s:form>
- Action类
public class EmployeeAction extends ActionSupport{
//字段
private String username;
private String password;
//setter方法
public void setPassword(String password) {
this.password = password;
}
public void setUsername(String username) {
this.username = username;
}
}
2.获取请求参数(对象)
jsp传来空字符串或空格,对象依然不为null,对象.属性也是不为null,
User类
public class User {
private String username;
private String password;
//省略setter+getter
}
- jsp
修改参数名为 对象.属性
<s:form action="/myMaven/Employee">
帐号<s:textfield name="user.username" id="username"/><br>
密码<s:password name="user.password" id="password"/><br>
<s:submit value="do it"/>
</s:form>
方式1
public class EmployeeAction extends ActionSupport{
//对象
private User user=null;
//setter+getter
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
方式2
public class EmployeeAction extends ActionSupport{
//对象
private User user=new User();
//getter
public User getUser() {
return user;
}
}
3.获取请求参数(对象)by模型驱动
实现与接口ModelDriven<T>
,并覆盖方法
- jsp
<s:form action="/myMaven/Employee">
帐号<s:textfield name="username" /><br>
密码<s:password name="password" /><br>
<s:submit value="do it"/>
</s:form>
- Action类
public class EmployeeAction extends ActionSupport implements ModelDriven<User>{
//对象
private User user=new User();
//覆盖方法
public User getModel() {
return user;
}
}
3.获取请求参数(list<对象>)
- jsp中
<s:form action="/myMaven/Employee">
帐号<s:textfield name="userList[0].username"/><br>
密码<s:password name="userList[0].password" /><br>
帐号<s:textfield name="userList[1].username" /><br>
密码<s:password name="userList[1].password" /><br>
<s:submit value="do it"/>
</s:form>
- Action类中
public class EmployeeAction extends ActionSupport{
//对象
private List<User> userList=new ArrayList<User>();
//getter
public List<User> getUserList() {
return userList;
}
}