如何获取 JSTL 上的 sessionScope 属性?

发布于 2024-12-24 03:12:25 字数 962 浏览 0 评论 0原文

任务是通过 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

谈情不如逗狗 2024-12-31 03:12:25

您正在阅读错误的教程页面。 标记属于 JSTL XML taglib 支持 XPath 语法。相反,它属于 JSTL 核心标记库 正确的教程页面位于此处

您需要使用普通的 ${bean.property} 表示法。

<c:if test="${applicationScope.booklist == null}"> 
   <c:import url="${initParam.booksURL}" var="xml" />
   <x:parse doc="${xml}" var="booklist" scope="application" />
</c:if>

在正常的 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.

<c:if test="${applicationScope.booklist == null}"> 
   <c:import url="${initParam.booksURL}" var="xml" />
   <x:parse doc="${xml}" var="booklist" scope="application" />
</c:if>

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:

国际总奸 2024-12-31 03:12:25

我在您的代码中没有发现您使用 EL 在 SessionScope 中的某处设置了变量 programID ,如下所示。

<c:set var="programID" value="SomeValue" scope="session"/>

如果您确实没有设置该变量,请尝试先像上面那样设置它,然后尝试以下操作。

<c:if test="${sessionScope:programId != null}" > please execute </c:if>

它应该有效。

I don't find in your code you have set your variable programID somewhere in your SessionScope using EL something like the one shown below.

<c:set var="programID" value="SomeValue" scope="session"/>

If you indeed didn't set that variable, try setting it first like the above then try the following.

<c:if test="${sessionScope:programId != null}" > please execute </c:if>

It should work.

烈酒灼喉 2024-12-31 03:12:25

如果您在控制器中设置了会话

session.setAttribute("programID",someValue);

,那么您应该尝试这个

${sessionScope.programID} in your jsp 

,它是 jstl 核心库的一部分

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

,如果您遇到异常,

"${sessionScope:programId != null}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [${sessionScope:programId != null}] 

请在 lib 文件夹中包含 jasper.jar
java 复习 了解 java 的基本概念

if you have set session in your controller

session.setAttribute("programID",someValue);

then you should try this

${sessionScope.programID} in your jsp 

which is part of jstl core library

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

and if you are getting exception

"${sessionScope:programId != null}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [${sessionScope:programId != null}] 

include jasper.jar in your lib folder
java brushup for basic concepts of java

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文