我有Struts 2应用程序。
我有一个jsp文件,如下所示
<s:form method="post" action="%{#attr.actionType}">
<c:forEach items="${nvpList2}" var="item">
<s:textfield label="%{#attr.item.displayName}"
value="%{#attr.item.value}"
name="%{#attr.item.getName()}"
id="%{#attr.item.getName()}"/>
</c:forEach>
<s:submit type="button" cssClass="btn btn-primary"
key="button.save" theme="simple" >
<i class="icon-ok icon-white"></i>
</s:submit>
</s:form>
可以看出,从动作名称到字段名称的所有元素都是动态创建的
对字段进行验证检查时出现问题。 在验证检查时,会显示错误,但页面中不会显示任何文本字段。
如何解决此问题。
答案 0 :(得分:2)
阅读what happens when a validation or conversion error occours;
的详细工作流程一旦了解了所发生的情况,请阅读How do we repopulate controls when validation fails(prepare()
方法和其他方法);
然后,看看你需要构建到send Lists or Maps from JSP to Action的哪种符号(和复杂情况下的结构),无论是静态(JSP还是HTML)还是动态(JSP or Javascript );
最后,我不确定你为什么使用JSTL而不是a Struts Iterator,也不知道你要发送数据的数据结构,但是要注意在名称中加入索引的必要性(使用IteratorStatus.index
)。