我想知道我们是否填充了动作类属性,我们是否可以直接在结果JSP中访问它们而不将它们分配给动作类中的表单?
答案 0 :(得分:0)
我认为您需要正确定义bean getter方法。比如,如果某个属性的名称为id
,并且您的操作中有一个名为getId()
的方法。然后可以在JSP中直接访问它:
OGNL表达式
<s:property value="id"/>
OR
JSTL表达式:
<c:out value="${action.id}"/>
答案 1 :(得分: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中。
<强>参考文献:强>
答案 2 :(得分:0)
你可以做的一件事就是初始化 ModelDriven Class 中的属性,无论何时调用你的动作,你想要初始化它。
http://struts.apache.org/release/2.1.x/docs/model-driven.html