我想知道,如果我们填充操作类属性,我们可以直接在结果 JSP 中访问它们,而不将它们分配给操作类中的表单吗?
我认为你需要正确定义 bean getter 方法。比如说,如果一个属性名为
id
并且您的操作中有一个名为 getId()
的方法。然后就可以直接在JSP中访问了:
OGNL表达:
<s:property value="id"/>
或
JSTL 表达式:
<c:out value="${action.id}"/>
您可以做的一件事是初始化 ModelDriven Class 中的属性,您希望在调用操作时初始化这些属性。
http://struts.apache.org/release/2.1.x/docs/model-driven.html
Struts2/XWork1及其taglib是面向OGNL的,它使用 a
代表所有操作属性。这些值不是直接的 可用于JSP2.0/JSTL1.1的表达语言。valueStack
要通过 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 表达式。
在第三行小脚本中。
参考资料: