1

我有 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>

可以看出,从动作名称到字段名称的所有元素都是动态创建的

当我对字段进行验证检查时会出现问题。在验证检查时,会显示错误,但页面中不会出现任何文本字段。

我该如何解决这个问题。

4

1 回答 1

2

阅读发生验证或转换错误时发生的详细工作流程;

一旦您了解发生了什么,请阅读验证失败时我们如何重新填充控件prepare()方法和其他方式);

然后,看看您需要构建哪种符号(以及复杂情况下的结构)以将 Lists 或 Maps 从 JSP 发送到 Action,无论是静态的(JSP 或 HTML)还是动态的(JSP或 Javascript);

最后,我不确定您为什么使用 JSTL 而不是Struts Iterator,也不知道您将数据发送到的数据结构,但请注意需要在名称中放置索引(使用IteratorStatus.index)。

于 2014-10-06T09:14:31.253 回答