必须与名称空间一起使用吗?
我尝试过:
<c:if test="${!request.isRequestedSessionIdFromCookie()}">
在我的任何一个 JSP 中,因为 c:url 由于某种原因没有对我的 url 进行编码。 (正在研究那个)。 所以我想尝试检查是否启用了 cookie,但出现错误:
功能 isRequestedSessionIdFromCookie 必须是 默认时与前缀一起使用 未指定命名空间
有谁知道这意味着什么?我经常使用 EL with request 但从未遇到过此错误。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
除非您使用的是 Servlet 3.0 / JSP 2.2,否则您无法像这样调用 EL 对象上的方法。您需要始终以 Javabean 方式对待它们。即不要使用
get
或is
前缀,也不使用方法括号()
。(我假设
HttpServletRequest
放在那里,否则你必须先通过PageContext
获取它)至于URL没有被
编码的具体问题c:out
,该标签不对此负责。您不会将它与c:url
混淆吗?Unless you're on Servlet 3.0 / JSP 2.2, you cannot invoke methods on EL objects like that. You need to treat them the Javabean-way all the way. I.e. do not use
get
oris
prefixes and also not method parens()
.(I assume that
HttpServletRequest
is been placed there, otherwise you've to get it byPageContext
first)As to the concrete problem of the URL's not being encoded by
c:out
, that tag isn't responsible for that. Aren't you confusing it withc:url
?