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

  • 相关阅读:
    丁子鸣-第一次个人编程作业
    丁子鸣---第一次个人作业
    How U.S. Stock Prices Correlate to the Value of the U.S. Dollar 美股价格和美元价值的关联
    在win10上WSL怎么显示GUI
    android 6.0.1 compiling
    Python Virtual Environments: A Primer
    ubuntu stardict 字典
    opencv Functionality Overview
    msm-v2 7af6000.i2c: error Missing 'i2c' DT entry
    Bash Shortcuts For Maximum Productivity
  • 原文地址:https://www.cnblogs.com/huozhicheng/p/2533148.html
Copyright © 2020-2023  润新知