首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EL变量在WAS 8中不起作用

EL变量在WAS 8中不起作用
EN

Stack Overflow用户
提问于 2012-05-21 19:24:42
回答 1查看 462关注 0票数 0

我使用websphere 8和RAD 8,这个scriptlet输出正确的值:

<%= ansokanInfo.getPSystem() %>

但是使用EL它不会输出任何内容:

${ansokanInfo.PSystem}

我可以写任何介于${}之间的东西,但它不会呈现。我做错了什么?应该怎么做才能启用EL表达式?这也不起作用:

<c:out value="${ansokanInfo.PSystem}" />

但这是有效的:

代码语言:javascript
复制
<c:forEach var="i" begin="1" end="5" >     <c:out value="${i}" />    </c:forEach> 

我的web.xml是这样开始的:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-22 12:50:12

Scriptlet和EL不共享相同的变量作用域。Scriptlet变量在JSP主体中声明,而EL变量则被设置为页面、请求、会话或应用程序范围的属性。

因此,要使ansokanInfo在EL中可用,您需要在其中一个作用域中设置它。假设它表示请求范围内的数据,请这样做:

代码语言:javascript
复制
request.setAttribute("ansokanInfo", ansokanInfo);

您可以在第一次对此变量进行EL计算之前在scriptlet中执行此操作。但更明智的做法是在预处理servlet中执行此操作。

要正确学习和理解这些概念,请查看我们关于必备主题的wiki页面:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10684309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档