繁体   English   中英

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

[英]Populating multiple forms in a Struts 1.x JSP

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

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

是的,这是可能的。

您可以为此问题指定多个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?

答:这是一个有趣的问题。 作为新手,为每个动作序列创建一个新的ActionForm是一个好习惯。

调用struts操作时,框架只创建一个表单。 它是与动作相关联的表单。 此表单可通过execute方法提供的参数获得。

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

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

暂无
暂无

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

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