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提交的值.

  • 相关阅读:
    CF1080D Olya and magical square
    CF1062D Fun with Integers
    leetcode378 Kth Smallest Element in a Sorted Matrix
    hdoj薛猫猫杯程序设计网络赛1003 球球大作战
    hihocoder1068 RMQ-ST算法
    hihocoder1032 最长回文子串
    hihocoder1394 网络流四·最小路径覆盖
    hihocoder1398 网络流五·最大权闭合子图
    【bzoj4562】HAOI2016食物链
    【bzoj1026】windy数
  • 原文地址:https://www.cnblogs.com/huozhicheng/p/2533148.html
Copyright © 2011-2022 走看看