1

我想知道如果我们填充动作类属性,我们可以直接在结果 JSP 中访问它们而不将它们分配给动作类中的表单吗?

4

3 回答 3

0

您可以做的一件事是初始化ModelDriven 类中的属性,您希望在调用您的操作时对其进行初始化。

http://struts.apache.org/release/2.1.x/docs/model-driven.html

于 2013-06-17T04:57:57.403 回答
0

我认为您需要正确定义 bean getter 方法。比如说,如果一个属性被命名id并且你getId()在你的操作中调用了一个方法。然后可以在 JSP 中直接访问它:

OGNL表达式:

<s:property value="id"/>

或者

JSTL 表达式:

<c:out value="${action.id}"/>
于 2013-06-16T13:18:31.420 回答
0

Struts2/XWork1 及其标签库面向 OGNL,它对valueStack所有动作属性使用 a。这些值不能直接用于 JSP2.0/JSTL1.1 的表达式语言。

要通过 OGNL 访问它,您只能在 Struts 标记属性中使用 OGNL。例如

public String MyAction extends ActionSupport {
  private String myAttr;
  //getter and setter here
  ...


<s:set var="myAttrz" value="myAttr" scope="request"/>
${myAttrz} or ${myAttr} will just print out the value.
<%=request.getAttribute("myAttrz")%>

在第一个标记中,动作属性作为 OGNL 表达式访问
。在第二行中,作为 JSTL 表达式访问。
在第三行小脚本中。

参考:

于 2013-06-16T16:31:31.967 回答