我正在尝试访问 JSP 中 struts2 s:if
标记内的 scriptlet 变量
<%
Website website = (Website)request.getAttribute(Website.NAME);
out.println(website.isUkSite()); // prints true
%>
<s:if test="#website.isIrishSite()"> // this is returning false
....
实际上这个s:if
应该评估为true
。有什么问题吗?
最佳答案
问题是操作上下文中没有名为 website
的变量。为了使其正常工作,您可以使用
<%
Website website = (Website)request.getAttribute(Website.NAME);
out.println(website.isUkSite()); // prints true
ActionContext.getContext().put("website", website);
%>
但是 scriplets 是一个糟糕的选择,您可以删除此代码并使用
<s:if test="#request.website.isIrishSite()">
关于java - 无法从 Struts 2 标记内部访问 scriptlet 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20214652/