我有两个问题.第一个是我正在使用JSP而我无法解决.第二个是我得到一个奇怪的行为.
当我把它放在我的servlet的doGet()方法中时
req.setAttribute("test", "SARASA");
req.getRequestDispatcher("WEB-INF/main.jsp").forward(req, resp);
Run Code Online (Sandbox Code Playgroud)
这在"WEB-INF/main.jsp"中:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%= request.getAttribute("test") %>
<c:out value="${test}"/>
Run Code Online (Sandbox Code Playgroud)
输出是:
SARASA ${test}
Run Code Online (Sandbox Code Playgroud)
我不知道我做错了什么......这可能是什么原因?
更新:我解决了它添加
<%@ page isELIgnored="false" %>
Run Code Online (Sandbox Code Playgroud)
在我需要它的每个JSP中.奇怪的是,我在另一个项目中并不需要使用一些非常相似的web.xml和pom.xml文件(我正在使用maven).
Man*_*qui 10
您的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">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1755 次 |
| 最近记录: |