如何从<jsp:include>?</jsp:include>中包含的JSP片段中读取Action属性

时间:2013-10-17 11:41:33

标签: jsp struts2 getter jspinclude

尝试从包含的JSP中调用Action的getter,我得到null:

MyAction.java

private String message = "The message I want to read...";
public String getMessage() { 
    return message; 
}

main.jsp中

<%@taglib prefix="s" uri="/struts-tags" %>
<html>
   <head></head>
   <body>
       <div> I'm a DIV in main.jsp </div>           
       <jsp:include page="fragment.jsp" />
   <body>
</html>

fragment.jsp

<%@taglib prefix="s" uri="/struts-tags" %>
<div>
    I'm a DIV from fragment.jsp
    <br/>
    Message from Action: <s:property value="message" />
</div>

如何在JSP片段中获取属性值?

1 个答案:

答案 0 :(得分:2)

使用<s:include value="somePage.jsp">代替<jsp:include page="somePage.jsp"/>

如果您想坚持使用<jsp:include />,则需要设置

<constant name="struts.ognl.allowStaticMethodAccess" value="true"/>    
在Struts.xml中

,它将像魅力一样工作。

不要问我为什么this is not mentioned anywhere in the documentation,这是我前段时间发现的一个幸运的发现。