2014-01-05 3 views
3

Я пытаюсь установить значение cookie в JSP без прямого использования кода Java. Я знаю, что могу сделать это, создав для этого специальный тег lib, но я хотел сохранить его простым, поэтому я пытаюсь сделать это так же, как я получаю файлы cookie: с помощью EL-выражений.Как установить значение cookie в JSP, используя выражение EL?

Я знаю, что могу прочитать значение cookie с использованием JSP EL с выражением ${cookie['cookieName'].value}, но как я могу установить конкретное значение для этого файла cookie с помощью EL? Я нашел решения, использующие java-код в JSP, но я хочу этого избежать.

До сих пор я нашел способ установить переменные с помощью C: установить тег, но не принимает выражения в качестве параметра «вар», так что я не могу сделать что-то вроде:

<c:set var="${cookie['cookieName'].value}" value="123" /> 

Я думаю, путь, но я не знаю, какое выражение использовать для его части var, или как записать его, чтобы я мог установить значение cookie вместо переменной.

Любая помощь приветствуется!

+2

Я уверен, что это не тот ответ, который вы ищете ... http: //stackoverflow.com/questions/10293825/how-to-set-a-cookie-in-jstl – Sumit

ответ

6

Нет стандартного выражения для установки cookie в JSP. Вы можете использовать пользовательский тег, если вы хотите, или использовать JSP сценарий менее

<% 

    javax.servlet.http.Cookie cookie 
      = new javax.servlet.http.Cookie("name", "value"); 

    // cookie.setXXX() 

    response.addCookie(cookie); 

%> 

ПРИМЕЧАНИЕ: Убедитесь, что печенье добавляется перед ответом совершается.

+0

Я закончил тем, что сделал что-то вроде это. Пользовательский тег не будет работать, так как у нас нет доступа к объекту ответа из пользовательского тега, но этот блок mall java-кода в заголовке сделал трюк. Благодаря! –

Смежные вопросы