1

我希望下面的代码能够工作,但不知道如何在 struts 标记之外获取表单 bean。

<logic:equal name="model" property="answerType" value="TEXT">
 <%
  String keyval = "questionAnswer" + "(" + model.getAnswerType() + ")";
 %>
 <html:text property="<%= keyval %>" value=""></html:text>    
</logic:equal>

有没有办法在 JSP 中获取 struts 表单 bean,以便我可以使用比 struts 标签更多的东西来执行一些处理?

抱歉,如果这是非常基本的,但也许可以这样说:JSP 页面是否可以在不使用可识别表单 bean 的 struts 标记的情况下与 struts 表单 bean 交互?

4

3 回答 3

4

根据 xml 文件中的表单 bean 范围定义(会话、请求或...),您可以从该范围获取 from 对象:

示例会话:

MyFormBean m = (MyFormBean) session.getAttribute("<form bean name>");

您甚至可以使用 JSP 或 JSTL 标记从范围中获取此对象。

于 2010-08-20T18:43:43.883 回答
0

提出问题的某些事情必须引发更高水平的大脑活动。

我几乎立即找到了答案,归功于:access-struts-formbean-attributes-from-jsp

这是我更新的有效代码:

            <logic:equal name="model" property="answerType" value="TEXT">
                <bean:define id="qlabel" name="model" property="questionLabel" />
                <%
                    String keyval = "questionAnswer" + "(" + qlabel + ")";
                %>
                <html:text property="<%= keyval %>" value=""></html:text>               
            </logic:equal>
于 2010-08-20T18:45:03.990 回答
0

有四种方法可以从以下获取值。1.session 2.page 3.request 4.response 5.application

1.session 你必须声明 scope =session

String name = request.getParameter("用户名");

用户名来自文本框的上一页或您指定的任何内容。

session.setAttribute("key",value); 字符串 s = session.getAttribute("key");

在会话到期之前可以获取该值。

于 2010-09-04T11:45:36.953 回答