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
:将应用程序范围的变量名称映射到它们的值
添加回答
举报