如何获取 JSTL 上的 sessionScope 属性?
任务是通过 JSTL 从会话中检索参数。会话参数名称是“programId”。
我尝试过:
<c:if test="${sessionScope.programId != null}" >
please execute
</c:if>
然后我尝试过:
<c:if test="${sessionScope:programId != null}" > please execute </c:if>
在这里我得到: 函数 applicationScope:programId 未定义
在上面我有:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Oracle 在示例中有:
http://docs.oracle.com/javaee/1.4/tutorial/doc/JSTL5.html
<c:if test="${applicationScope:booklist == null}" >
<c:import url="${initParam.booksURL}" var="xml" />
<x:parse doc="${xml}" var="booklist" scope="application" />
</c:if>
其中 applicationScope 可以与 sessionScope 交换。
“琐碎”的复杂性再次让我发疯。为什么是公司例子永远不起作用?
谢谢你们,
The task is to retrieve parameters from session via JSTL. The session parameter name is "programId" .
I tried:
<c:if test="${sessionScope.programId != null}" >
please execute
</c:if>
Then I tried:
<c:if test="${sessionScope:programId != null}" > please execute </c:if>
Here I get: The function applicationScope:programId is undefined
On top I have:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Oracle has in examples:
http://docs.oracle.com/javaee/1.4/tutorial/doc/JSTL5.html
<c:if test="${applicationScope:booklist == null}" >
<c:import url="${initParam.booksURL}" var="xml" />
<x:parse doc="${xml}" var="booklist" scope="application" />
</c:if>
where applicationScope can be swapped by sessionScope.
again "trivialism" complexity drives me nuts. Why corp. examples never work?
Thank You Guys,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您正在阅读错误的教程页面。
标记不属于 JSTL XML taglib 支持 XPath 语法。相反,它属于 JSTL 核心标记库 正确的教程页面位于此处。您需要使用普通的
${bean.property}
表示法。在正常的 EL(不是 XPath!)语法中,
:
标识 EL 函数的开始。另请参阅 JSTL 函数标签库 对于几个 EL 函数示例,其教程页面为 这里。另请参阅:
You're reading the wrong tutorial page. The
<c:xxx>
tags does not belong to the JSTL XML taglib which supports XPath syntax. Instead, it belongs to the JSTL Core taglib for which the proper tutorial page is here.You need to use the normal
${bean.property}
notation instead.In normal EL (not XPath!) syntax, the
:
identifies the start of an EL function. See also the JSTL Functions taglib for several EL function examples for which the tutorial page is here.See also:
我在您的代码中没有发现您使用 EL 在
SessionScope
中的某处设置了变量programID
,如下所示。如果您确实没有设置该变量,请尝试先像上面那样设置它,然后尝试以下操作。
它应该有效。
I don't find in your code you have set your variable
programID
somewhere in yourSessionScope
using EL something like the one shown below.If you indeed didn't set that variable, try setting it first like the above then try the following.
It should work.
如果您在控制器中设置了会话
,那么您应该尝试这个
,它是 jstl 核心库的一部分
,如果您遇到异常,
请在 lib 文件夹中包含 jasper.jar
java 复习 了解 java 的基本概念
if you have set session in your controller
then you should try this
which is part of jstl core library
and if you are getting exception
include jasper.jar in your lib folder
java brushup for basic concepts of java