Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将对象从servlet传递到jsp并使用jstl获取输出_Jsp_Servlets_Jstl - Fatal编程技术网

将对象从servlet传递到jsp并使用jstl获取输出

将对象从servlet传递到jsp并使用jstl获取输出,jsp,servlets,jstl,Jsp,Servlets,Jstl,我的jstl即将到期。 我将对象(bean)放在servlet中的req上,如下所示: req.setAttribute("myBean", myBean); <c:out value="${mb.getStuff}"/> 在我的jsp中,我有: MyBean mb = (MyBean)request.getAttribute("myBean"); <%= mb.getStuff() %> MyBean mb=(MyBean)request.getAttribute

我的jstl即将到期。 我将对象(bean)放在servlet中的req上,如下所示:

req.setAttribute("myBean", myBean);
<c:out value="${mb.getStuff}"/>
在我的jsp中,我有:

MyBean mb = (MyBean)request.getAttribute("myBean");
<%= mb.getStuff() %>
MyBean mb=(MyBean)request.getAttribute(“MyBean”);
然后我尝试使用Jstl,如下所示:

req.setAttribute("myBean", myBean);
<c:out value="${mb.getStuff}"/>

我在输出中得到文本${mb.getstuff}。 这是错误的。应该怎样

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

Tomcat 6。 日蚀

这来自web上的示例:

request.setAttribute("name", "ss ss");
getServletContext().getRequestDispatcher("/result.jsp").forward(request, response);

<h3>An Example of c:out JSTL...</h3><br/>
The value comes from servlet is : <b> <c:out value="${name}"/></b>
request.setAttribute(“name”、“ss”);
getServletContext().getRequestDispatcher(“/result.jsp”).forward(请求,响应);
c:out JSTL的一个示例…
来自servlet的值为:
计算结果为空。

有两个(可能有三个)问题

1。
web.xml
中声明的servlet级别应为2.5+

<web-app version="2.5" xmlns="java.sun.com/xml/ns/javaee"
  xmlns:xsi="w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="java.sun.com/xml/ns/javaee java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
3.如果
getStuff
实际上是一个方法
getStuff()
,那么EL实际上是:

${myBean.stuff}

此外,请确保应用程序已重新部署,并且已拾取并编译了更改。

您的容器未评估JSP EL。您的
web.xml
中的servlet级别是多少?您的评估是正确的。我尝试了一个简单的字符串属性,但没有成功。我正在使用Tomcat6。S/B servlet级别2.5。从我所读到的内容来看,web.xml不需要在Tomcat上修改。只有jar文件需要放在WEB-INF/lib中。我正在使用Eclipse并部署上下文。您的
web.xml
中声明的servlet级别是什么?不确定要问什么,但是:我将其更改为:仍然不好。重新启动了tomcat。它现在正在评估为空白。我将更新这个问题。更新servlet jsp和服务器之间看起来也有延迟。现在一切都好了。即使在本地盒子上也不是即时的…谢谢@保罗:不可能;更新
web.xml
时,需要完全重新启动应用程序。更新jsp和servlet时不需要。需要一些时间(2秒)。所以我以为什么也没出现。我是想快速浏览页面。@Paul好吧,它必须识别出更改的文件,然后重新编译JSP,虽然速度很快,但不是即时的。