直接访问Struts 2动作类属性

时间:2013-06-16 13:14:37

标签: java jsp properties struts2 ognl

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

3 个答案:

答案 0 :(得分:0)

  

Struts2 / XWork1及其taglib面向正在使用的OGNL   所有动作属性的valueStack。这些值不是直接的   可用于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")%>

在第一个标签中,action属性作为OGNL表达式进行访问 在第二行作为JSTL表达。
在第三行scriptlets中。

<强>参考文献:

答案 1 :(得分:0)

你可以做的一件事就是初始化 ModelDriven Class 中的属性,无论何时调用你的动作,你想要初始化它。

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

答案 2 :(得分:0)

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

OGNL表达式

<s:property value="id"/>

OR

JSTL表达式:

<c:out value="${action.id}"/>