在Struts1.x中用actionForm实现 request.getParameterValues("")效果;

如果在jsp页面,我们在一个表单中(只有表单中的input标签的值才可以提交到后台)有好多个属性一样的标签,我们知道如果想在Servlet中获取所有属性名字一样的属性值,可以用request.getParameterValues(“”)得到一组数组。示例代码如下:

jsp:
<body>
    <form action="test.do" method="post">
        <input type="checkbox" name="array" value="123">
        <input type="checkbox" name="array" value="4">
        <input type="checkbox" name="array" value="45">
        <input type="checkbox" name="array" value="16">
        <input type="submit" value="提交">
    </form>
  </body>
Servlet:
    String[] arrays=request.getParameterValues("array");

现在我们来讲一下如果我想利用Struts1.x中的actionForm表单来实现这个功能,怎么实现?(我们知道actionForm表单会有很多好处,可以自动帮我们封装,还可以自动转换数据类型等)。其实为了达到上面的效果,可以在ActionForm中通过定义一个数组来接受。实现上面的功能的代码,如下:

//jsp:
<body>
    <form action="test.do" method="post">
        <input type="checkbox" name="array" value="123">
        <input type="checkbox" name="array" value="4">
        <input type="checkbox" name="array" value="45">
        <input type="checkbox" name="array" value="16">
        <input type="submit" value="提交">
    </form>
  </body>

//actionForm:
public class ArrayActionForm extends ActionForm{

    int id;

    String[] array;
}
getter和setter略

//action的接受:
ArrayActionForm aaf = (ArrayActionForm)form;
        String[] array = aaf.getArray();

很灵活,例如我们如果想获取的array为整数类型,如果用第一种要一个一个的转换,而在actionform中只需把array定义为整数数组就好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值