无法获取核心taglib的请求参数,与request.getparameter一起使用?

时间:2011-10-31 07:29:37

标签: jsp spring-mvc jsp-tags

编辑:终于找到了。由于某些原因它在Jetty中不起作用,但是当我在那里建立并运行时,它在Tomcat中工作。不知道为什么......

哦,我昨晚发疯了,试图解决这个问题......

简单的前提:

使用Spring requestdispatcher和controller类,简单的jsp页面作为视图。

在我的控制器中:

request.setAttribute("banana", "myValue");

如果使用reqular jsp代码:

<%=request.getAttribute("banana")%>

按预期打印

但是我无法使用c-taglib来使用它。我已经尝试了一切:

<c:out value="${param.banana}"/> <c:out value="${requestScope.banana}"/> and like 4 more.

没有任何作用......它只是按原样输出值,即$ {param.banana}作为文本。

我环顾四周但找不到任何解决方案,我一定是个白痴。请帮帮我。

编辑忘记澄清: 我已经包含了相应的jspheader

<%@ taglib prefix='c' uri='http://java.sun.com/jstl/core_rt' %>

也尝试了

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

2 个答案:

答案 0 :(得分:2)

你可能只是忘了在JSP的开头声明使用核心taglib:

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

适当的方式是:

<c:out value="${requestScope.banana}"/>

或只是

<c:out value="${banana}"/>

除非您有一个具有相同名称的页面范围属性。

答案 1 :(得分:1)

供其他人参考:

这是我运行的Jetty服务器的一个问题。在Tomcat上部署时,一切都按预期工作。

我不确定它是什么,我从Intellj内部按原样运行它,但猜测它与启动时Jetty部署的库有关。