1 回答
TA贡献1856条经验 获得超11个赞
JSP 定义了一些隐式对象,以允许 JSP 访问 Servlet 代码具有的相同信息。
这些隐式对象在页面范围内分配,因此它们取代了任何同名的请求属性。
解决方案:
不要使用与隐式对象名称匹配的请求属性名称。
使用 限定访问权限,即在您的 JSP 中
requestScope使用。${requestScope.header}
我推荐选项 1。
JSP 表达式语言定义了一组隐式对象:
pageContext:JSP 页面的上下文。提供对各种对象的访问,包括:
servletContext:JSP 页面的 servlet 和同一应用程序中包含的任何 Web 组件的上下文。请参阅访问 Web 上下文。
session:客户端的会话对象。请参阅维护客户端状态。
request:触发JSP页面执行的请求。请参阅从请求中获取信息。
response:JSP页面返回的响应。请参阅构建响应。此外,还有几个隐式对象可用,可以轻松访问以下对象:
param: 将请求参数名称映射到单个值
paramValues:将请求参数名称映射到值数组
header:将请求标头名称映射到单个值
headerValues:将请求标头名称映射到值数组
cookie: 将 cookie 名称映射到单个 cookie
initParam:将上下文初始化参数名称映射到单个值最后,有些对象允许访问使用范围对象中描述的各种范围变量。
pageScope:将页面范围的变量名称映射到它们的值
requestScope:将请求范围的变量名称映射到它们的值
sessionScope:将会话范围的变量名称映射到它们的值
applicationScope:将应用程序范围的变量名称映射到它们的值
添加回答
举报
