struts2中对list和map集合进行封装

一、对list集合进行封装

1.首先创建一个user类,并重写toString方法。
public class User {

    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;
    }

    @Override
    public String toString() {
        return "User [username=" + username + ", password=" + password + "]";
    }
}
2.创建ListAction 类实现继承ActionSupport的action类,添加user对象,再写一个getter和setter方法,重写excute方法
public class ListAction extends ActionSupport {

    private List<User> list;

    public List<User> getList() {
        return users;
    }

    public void setUsers(List<User> list) {
        this.list = list;
    }

    @Override
    public String execute() throws Exception {

        System.out.println(list);

        return null;
    }
}
3.在jsp页面中,需要注意的是,input标签中的name属性不再是user对象的属性名了,因为封装的是list集合,所以要用list[i].属性名来替换属性名了。
  <body>
    <form action="${pageContext.request.contextPath}/list" method="post">
        username1:<input type="text" name="list[0].username"><br>
        password1:<input type="password" name="list[0].password"><br>

        username2:<input type="text" name="list[1].username"><br>
        password2:<input type="password" name="list[1].password"><br>

        <input type="submit" value="登录">
    </form>
  </body>

4.在struts.xml配置文件中,我们只需要配置以下内容,因为默认访问的是excute方法,而且方法return的是null,所以其他内容可以省略。

<struts>
    <package name="default" namespace="/" extends="struts-default">
    <action name="list" class="com.csdn.action.ListAction">
    </action>
    </package>
</struts>

二、对map集合进行封装

1.我们可以采用上面的user类
2.创建MapAction 类实现继承ActionSupport的action类,添加user对象,再写一个getter和setter方法,重写excute方法
public class MapAction extends ActionSupport {

    private Map<String, User> map;

    public Map<String, User> getMap() {
        return map;
    }

    public void setMap(Map<String, User> map) {
        this.map = map;
    }

    @Override
    public String execute() throws Exception {

        System.out.println(map);

        return null;
    }
}

3.在jsp页面中需要注意的是,因为要封装的是map集合,我们用
map[‘键名’].属性名来代替属性名了,这里我取了“a”和“b”作为键名。

<form action="${pageContext.request.contextPath}/map" method="post">
        username1:<input type="text" name="map['a'].username"><br>
        password1:<input type="password" name="map['a'].password"><br>

        username2:<input type="text" name="map['b'].username"><br>
        password2:<input type="password" name="map['b'].password"><br>

        <input type="submit" value="登录">
    </form>

4.struts.xml文件的配置几乎和上述相同

<struts>
    <package name="default" namespace="/" extends="struts-default">
    <action name="map" class="com.csdn.action.MapAction">
    </action>
    </package>
</struts>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值