【Struct2】【Action类】【自动获取请求参数】

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;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值