<c: if test = "$ {! request.isRequestedSessionIdFromCookie ()}"> должен использоваться с пространством имен? - PullRequest
0 голосов
/ 13 января 2011

Я пытался:

<c:if test="${!request.isRequestedSessionIdFromCookie()}">

в одном из моих JSP, поскольку c: url по какой-то причине не кодирует мои URL.(работает над этим).Поэтому я хотел попробовать и проверить, включены ли куки с этим, но я получаю ошибку:

Функция isRequestedSessionIdFromCookie должна использоваться с префиксом, когда пространство имен по умолчанию не указано

Кто-нибудь знает, что это значит?Я часто использовал EL с запросом и никогда не получал эту ошибку.

1 Ответ

4 голосов
/ 13 января 2011

Если вы не используете Servlet 3.0 / JSP 2.2, вы не можете вызывать методы для таких объектов EL.Вы должны относиться к ним по-джавабейски.Т.е. не используйте префиксы get или is, а также не методы parens ().

<c:if test="${!request.requestedSessionIdFromCookie}">

(я предполагаю, что HttpServletRequest находится там, в противном случае вы должны получитьPageContext first)

<c:if test="${!pageContext.request.requestedSessionIdFromCookie}">

Что касается конкретной проблемы, заключающейся в том, что URL не кодируется c:out, этот тег за это не отвечает.Вы не путаете это с c:url?

...