我有两个问题。第一个是我使用JSP,无法解决。第二个是我的行为很奇怪。
当我将其放入 servlet 的 doGet() 方法中时
req.setAttribute("test", "SARASA");
req.getRequestDispatcher("WEB-INF/main.jsp").forward(req, resp);
这在“WEB-INF/main.jsp”中:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%= request.getAttribute("test") %>
<c:out value="${test}"/>
输出是:
SARASA ${test}
我不知道我做错了什么......这可能是什么原因?
更新:我解决了它添加
<%@ page isELIgnored="false" %>
在每个我需要它的 JSP 中。奇怪的是,我在另一个使用一些非常相似的 web.xml 和 pom.xml 文件的项目中不需要它(我正在使用 maven)。
您的 web.xml 可能引用了 Servlet 2.3 规范,其中isELIgnored
被设定为true
默认情况下。如果您改为引用 Servlet 2.4 规范,isELIgnored
将被设置为false
默认情况下。
如果您想引用 Servlet 2.4 规范,您的 web.xml 标头应如下所示:
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)