gpt4 book ai didi

java - 如何: Struts 2 validating dynamic forms array

转载 作者:太空宇宙 更新时间:2023-11-04 14:41:05 25 4
gpt4 key购买 nike

我读过这篇文章 Struts2 Validation for an array

这是有道理的,但希望的人(四元数)会解释如何

“重写上面的内容以专门命名字段(带有索引),在这种情况下您可以使用 ,并且您将使用 addFieldError 方法。有关这些标记的详细信息,请参阅 http://struts.apache.org/2.3.1.2/docs/tag-reference.html

这就是我所拥有的:

<s:form action="saveOrUpdateAction" method="get">
<s:token/>
<table>
<tr>
<td> Fund </td>
<td> Award Code </td>
</tr>
<s:iterator value="gfeListWithEmptyCode">
<tr>
<td> <s:property value="sfafund "/> </td>
<td> <s:property value="awardcode"/>
<input type="text" name="codeArray">
</td>
</tr>
</s:iterator>
<s:token />
<s:submit key="Submit2"/>
</table>
</s:form>

我的部分行动:

public void validate()
{
if (fund == null || fund.trim().length() != 5 )
{
System.out.println("testing+++++++++++++++++++1");
addFieldError("fund","Fund requires 5 characters.");
}
if (code == null || code.trim().length() != 3 )
{
System.out.println("testing+++++++++++++++++++2");
addFieldError("code","Fund requires 3 characters.");
}


if (gfeListWithEmptyCode !=null)
{

int index = 0;
for (GiftFundEntity giftFundEntity : gfeListWithEmptyCode)
{
if ( codeArray[index]!=null && codeArray[index].length() < 3 )
{

System.out.println("testing+++++++++++++++++++3");

// technically, this is not possible to do because it requires codeArray[index] and not a string.

addFieldError("codeArray","Code requires 3 characters.");
index++;
}
}
}


try
{
this.execute();
} catch (Exception e)
{
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}

在验证期间,红色错误消息不会显示在 jsp 页面上,原因很明显,因为 codeArray 未按索引列出。我该如何让它发挥作用? * 请注意* 数组是动态的。

我查看了 struts 文档并搜索了 stackoverflow,但我不知道如何做到这一点。

感谢您的宝贵时间。

最佳答案

答案是Struts 2将Action类内部的codeArray变量视为数组:String[]codeArray;这没有记录。

关于java - 如何: Struts 2 validating dynamic forms array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24920665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com