在jsp页面中将java变量值传递给jstl的方法

时间:2013-05-06 06:32:19

标签: jsp java-ee jstl el

我找到了将java变量传递给jstl的代码,如下所示: -

<%
String str = "abc";
pageContext.setAttribute("str", str);
%>

要在jstl标签中获取该值,我们必须使用如下代码: -

<c:out value="${str}"/>

我的主要问题是,如果还有其他方法可以传递值,从java到jstl?

2 个答案:

答案 0 :(得分:2)

它查找pageContext,请求属性,会话属性,变量解析的应用程序上下文,因此您可以将值放在任何

在此示例中,您将其放在pageContext

来自我们的EL wiki

${str}

与“raw”scriptlet代码中的以下内容基本相同(下面的示例是为了简单,实际上反射API用于获取方法并调用它们):

其中PageContext#findAttribute()分别扫描PageContext(页面范围),HttpServletRequest(请求范围),HttpSession(会话范围)和ServletContext的属性(应用范围)直到找到第一个非空值。请注意,当值为null时,它不会打印“null”,也不会像使用scriptlet时那样抛出NullPointerException。换句话说,EL是 null-safe

答案 1 :(得分:0)

您没有将值传递给JSTL,而是设置范围属性。您可以将属性设置为requestsessioncontext,也可以将request参数传递给JSP。