[英]Unable to access scriptlet variable from inside Struts 2 tag
我正在嘗試訪問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()">
終於成功了
<%
Website website = (Website)request.getAttribute(Website.NAME);
out.println(website.isUkSite()); // prints true
%>
<s:if test="website.ukSite">
// this is executed finally !!
</s:if>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.