繁体   English   中英

struts2中字段验证器的动态字段名称

[英]dynamic field name for field validator in struts2

我有这个班

public Class Employee
{
    String name;
    List<Address> listOfAddress;
}

public Class Address
{
    String location;
    String streetName;
}

在我的JSP页面中,我已经这样填写

 <s:textfield id="streetName" name="listOfAddress[%{listOfAddress.size()}].streetName" size="20" maxlength="24" cssStyle="width: 100px" />

每次我提交页面时,都会将时间对象添加到列表中,因此大小将增加一。 当我查看先前textField的源HTML时,其名称类似于此listOfAddress [0] .streetName,如果在添加成功后提交JSP页面,它将返回到同一页面,并且此文本字段的名称将为listOfAddress [ 1] .streetName(如果您查看其HTML源代码)

这样,我可以向同一个Employee对象添加任意多个地址。

到目前为止,一切都还可以。 问题是当我想验证此字段时,我无法执行此操作,因为如果我放置此验证,它将是动态的,它将仅在第一次验证。

     <field name="listOfAddress[0].streetName">
        <field-validator type="requiredstring" short-circuit="true">
           <param name="trim">true</param>
           <message>sorry this field is required field</message>
       </field-validator>
    </field> 

我想要的是根据列表的大小使列表“ listOfAddress”的索引动态变化。

我不知道如何从jsp传递dynamicall

我可以做这样的事情吗?

    <field name="listOfAddress[**${dynamic index value}**].streetName">
        <field-validator type="requiredstring" short-circuit="true">
           <param name="trim">true</param>

           **<param name="myIndex">${dynamic index value}</param>**

           <message>sorry this field is required field</message>
       </field-validator>
    </field> 

还是将动态值传递给自定义验证器?

请帮助我,如何在动态索引时验证列表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM