在 Struts 1.x JSP 中填充多个表单

问题描述 投票:0回答:2

有没有办法用 Struts 填充多个表单并使它们可用于 JSP 页面?

我正在构建一个页面,该页面上有两种不同的表单,需要从数据库预先填充自定义数据。两种表格必须位于同一页面上。

java jsp struts struts-1
2个回答
3
投票

是的,这是可能的。

您可以为此问题指定多个

ActionForm
实现(首选)或仅使用一个 - 无论如何。

<nested:root name="myFirstForm">
    <nested:form action="/MyAction.do?method=foo" method="post">
        <%-- some code --%>
    </nested:form>
    <nested:form action="/MyAction.do?method=bar" method="post">
        <%-- some code --%>
    </nested:form>
</nested:root>
<nested:root name="mySecondForm">
    <nested:form action="/MyAction.do?method=foobar" method="post">
        <%-- some code --%>
    </nested:form>
</nested:root>

来自 Apache Struts 新手常见问题解答

问:每个 HTML 表单都必须有一个单独的 ActionForm bean 吗?

A:这是一个有趣的问题。作为一个新手,这是一个很好的做法 为每个操作序列创建一个新的 ActionForm。


3
投票

当您调用 struts 操作时,框架仅创建一种表单。它是与操作相关联的形式。此形式可通过

execute
方法提供的参数获得。

但是,JSP 可能包含多个表单来执行多个操作。如果操作分派到 JSP,那么将只处理一个表单以将标签映射到表单 bean 的属性。

但是,没有什么可以阻止您在操作中创建其他表单实例并通过 EL 表达式在 JSP 中手动处理它。表单 bean 的实例最好通过表单名称放置在请求或会话中,因此可以通过 EL 表达式轻松访问它。

© www.soinside.com 2019 - 2024. All rights reserved.