无法使用核心taglib获取请求参数,使用request.getparameter?
问题描述:
编辑:最后发现它。由于某些原因,它在Jetty中不起作用,但是在我构建并运行时在Tomcat中工作。不知道为什么,虽然...无法使用核心taglib获取请求参数,使用request.getparameter?
哦,男人我疯了,昨晚试图理清了这一点...
简单的前提:
使用弹簧的RequestDispatcher和控制器类,简单的JSP页面视图。
在我的控制器:
request.setAttribute("banana", "myValue");
如果使用reqular JSP代码:
<%=request.getAttribute("banana")%>
其打印效果与预期
,但我不能得到它使用C-标签库的工作。我用尽了一切:
<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" %>
答
对于其他参考:
这是与我运行的Jetty服务器的问题。在Tomcat上部署时,一切都按预期工作。
我不完全确定它是什么,我是从Intellj内部原封不动地运行它的,但是猜测它与在启动时部署Jetty的库有关。
答
你可能只是忘了在JSP的开始申报使用的核心标记库的:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
而适当的方法是:
<c:out value="${requestScope.banana}"/>
或只是
<c:out value="${banana}"/>
,除非你有一个页面scope属性具有相同的名称。
我想知道,如果我编写客户taglib,并且不要将“$ {requestScope.banana}”传递给my_taglib,我可以在实现my_taglib的java类中获取requestScope吗? – meadlai