Когда использовать requestScope в jstl?

переменная jstl устанавливается в области запроса в jsp

<c:set var="name" value="Tiger" scope="request" />

эта переменная доступна из jspf, включенного в этот jsp. Теперь, есть ли разница в доступе к переменной этими двумя способами ?

1) <c:out value="${name}" />
2) <c:out value="${requestScope.name}" />

когда использовать requestScope ?

2 ответов


вы используете requestScope, когда вы абсолютно хотите, чтобы ваш объект исходил из запроса, а не из области страницы, сеанса или приложения. В действительности, используя ${name} поиск name атрибут на странице, затем в запросе, затем в сеансе, затем в приложении.

предположим, что какой-то другой код в JSP установил name атрибут в области страницы. Но вы хотите получить доступ к имени в запросе: вы вынуждены использовать requestScope.

давайте скажем, сеанс может иметь


в моем исследовании (я также новый для jstl), область запроса может установить значения для запроса страницы со страницы ответа, например, предположим, что у нас есть страница .jsp и его действия составляет index_action.jsp

если мы, установите значения на страницу действий

<c:set var="nme" scope="request" value="Janaka aravinda"/>
<%  request.getRequestDispatcher("index.jsp").forward(request, response); %>

(// Я создал nme переменная и установите ее значение как Janaka aravinda. и обратно, чтобы перезагрузить страницу запроса(индекс.jsp))

теперь мы можем назвать nme на .jsp nme переменной как следовать Значение запроса

<c:out value="${nme}"/>