如何设置标签中的JSP变量以及<%= viewEditPromotionURL>?

时间:2013-04-30 22:22:09

标签: java jsp taglib

我认为这样的变量只能由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>

这可能吗?在秘密部分写什么?

1 个答案:

答案 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的更多信息。