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

标签 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片段中的属性值?

最佳答案

使用 <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 ,这是我不久前的一个幸运发现。

关于jsp - 如何从 <jsp :include/>? 包含的 JSP 片段中读取 Action 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19425754/

相关文章:

java - 将多行的详细信息从 JSP 传递到 Servlet

JSP - 期望具有 "jsp:param"和 "name"属性的 "value"标准操作

java - 如何在不将所有表单字段定义为类属性的情况下将对象从 JSP 表单传递到 Struts2 中的 Action 类?

javascript - Struts2 自动完成器 - 单击提交按钮时条目丢失

properties - 不能将自定义 getter 与委托(delegate)属性一起使用

java - 将 getter 方法中的名称与用户输入字符串进行比较时出现问题

java - 如何在 JSP 页面中生成带有嵌入代码的可重用模板内容?

java - 使用 Struts2 获取实际文件类型 :file control

validation - struts2中的日期验证

java - 为什么要使用 getter 和 setter/accessors?