我认为这样的变量只能由Java代码设置:
<%
String viewEditPromotionURL="http://promotion.info";
%>
但我发现它也可以在自定义标签中设置:
<portlet:actionURL name="editPromotion" var="editPromotionURL" />
标记如何设置<%=...>
可见的变量?
<%
String variableName = "myvariable";
String variableValue = "myvalue";
// secret part to store myvalue into myvariable
%>
<p>Variable = <%= myvariable%></p>
这可能吗?在秘密部分写什么?
答案 0 :(得分:1)
如果查看Jasper(JSP编译器)的输出,<%= myvariable %>
标记将转换为:
javax.servlet.jsp.JspWriter out = pageContext.getOut();
out.print(myvariable);
这意味着myvariable
必须在public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
可以看到的位置定义<%! %>
。您唯一的选择是在JSP页面内部,如第一个代码片段,或在类级别使用<portlet:>
。在{{1}}示例中,您使用taglib添加变量,您可以了解有关here的更多信息。