zoukankan      html  css  js  c++  java
  • Struts2 Jsp取action List及数据映射

    在struts2里一般用标签struts-tags可以取得action里的List,只需要在jsp的属性和action属性映射起来就可以了。

    但对于list的映射还是有一点需要注意到地方。

    1. Action里List定义要用泛型

      如: ShoppingCartAction的orderDetails,

            public class ShoppingCartAction extends ActionSupport {
                 private Collection<OrderDetail> orderDetails;

         Jsp取

        <s:iterator value="orderDetails">
              <tr>
                <td><input type="checkbox" name="productcode" value="${product.productcode}">${product.productcode}
                  <td><input type="text" name="orderDetail.quantityordered" value="${quantityordered}"></td>
                </tr>
           </s:iterator>

           list泛型类, 取值只需要属性名(quantityordered), 而类里的类需要加类名和属性名(product.productcode)

           而jsp提交以后映射Action里的属性, 就需要加类名和属性名(name="orderDetail.quantityordered")

    2. 数据类型转换

    Struts2自带了一些类型转换器,可以对HTTP字符串和下列 JAVA类型进行转换(自动进行):

    1)       String

    2)       Boolean/Boolean:truefalse字符串可以被转换成布尔值的原始类型有包装类.

    3)       Character/char:

    4)       Integer/int,Float/float,Long/long,Double/double

    5)       Date:当前LocaleSHORT格式的字符串,:98/10/11

    6)       Array:

    7)       List:默认使用String填充.

    8)       Map:默认使用String填充.

     

    例子:

    3)      List

    用法和数组一模一样.只不过JAVA中是List但注意,这里最好是用泛型来声明.不然它会自动将参数转换成String类型并存入List. 泛型用法:

    <input name=”names[0].username” />

    <input name=”names[1].username” />

    接收:List<User> names

    第一个Userusername为第一个input提交的值

    4)Map

    list不同,Map需要一个键,一个值.:

    <input name=”nameMap.mary” />

    <input name=”nameMap.hellen” />

    <input name=”nameMap[‘Sunyu’]” />

    上面一种用点语法,一种用方括号.但两种意思一样,当我们提交上面表单后,后台获得的值如下:

    Map<String,String> nameMap;值为:

    mary --- >第一input提交的值.

    hello --- >第二input提交的值.

  • 相关阅读:
    如何保存PDF、Word和Excel文件到数据库中
    C#添加PDF页眉——添加文本、图片到页眉
    C#数组,List,Dictionary的相互转换
    C#向PPT文档插入图片以及导出图片
    【CTSC2018】暴力写挂(边分治,虚树)
    【WC2018】通道(边分治,虚树,动态规划)
    【BZOJ2870】最长道路(边分治)
    【WC2018】州区划分(FWT,动态规划)
    【LOJ#6029】市场(线段树)
    【Hihocoder1413】Rikka with String(后缀自动机)
  • 原文地址:https://www.cnblogs.com/huozhicheng/p/2533148.html
Copyright © 2011-2022 走看看