在jsp页面中将java变量值传递给jstl的方法
我找到了将java变量传递给jstl的代码,如下所示:-在jsp页面中将java变量值传递给jstl的方法,jsp,jakarta-ee,jstl,el,Jsp,Jakarta Ee,Jstl,El,我找到了将java变量传递给jstl的代码,如下所示:- <% String str = "abc"; pageContext.setAttribute("str", str); %> <c:out value="${str}"/> 为了在jstl标记中获得该值,我们必须使用如下代码:- <% String str = "abc"; pageContext.setAttribute("str", str); %> <c:out value="$
<%
String str = "abc";
pageContext.setAttribute("str", str);
%>
<c:out value="${str}"/>
为了在jstl标记中获得该值,我们必须使用如下代码:-
<%
String str = "abc";
pageContext.setAttribute("str", str);
%>
<c:out value="${str}"/>
我的主要问题是,如果有任何其他方法来传递值,从java到jstl?它会查找pageContext、请求属性、会话属性、应用程序上下文以获得变量解析,因此您可以将值放入其中任何一个 在本例中,您将其放入
pageContext
从我们
在“原始”scriptlet代码中基本上与以下相同(下面的示例是为了简单起见,实际上反射API用于获取方法并调用它们):
其中分别扫描
PageContext
(页面范围)、HttpServletRequest
(请求范围)、HttpSession
(会话范围)和ServletContext
(应用范围)的属性,直到找到第一个非空值为止。请注意,当值为null时,它不会打印“null”,也不会抛出NullPointerException
,这与使用Scriptlet时不同。换句话说,EL是空安全的。您不是在向JSTL传递值,而是在设置作用域属性。您可以将属性设置为请求
、会话
和上下文
,或者您可以将请求
参数传递给JSP。仅在同一页面中是,因此页面上下文。只是想确认是否有其他选择?其他选择是将其作为url传递(例如:someurl.com?key=value参数并作为${param.key}访问)好的,非常感谢,但是如果还有其他选择,因为我不想将变量传递到url中..是的,我正在设置范围属性,但是,如果有其他方法来执行类似于Jigar Joshi在评论中提到的logicPass请求参数,请帮助我。