尝试从包含的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片段中获取属性值?
答案 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,这是我前段时间发现的一个幸运的发现。