Использование request.setAttribute на странице JSP
Можно ли использовать request.setAttribute
на странице JSP, а 9X_jre затем при отправке HTML получить тот же 9X_jee атрибут запроса в Servlet
?
Ответ #1
Ответ на вопрос: Использование request.setAttribute на странице JSP
Нет. К сожалению, объект Request доступен 9X_javax только до тех пор, пока страница не загрузится 9X_core-java - после ее завершения вы потеряете все значения 9X_java в нем, если они не были где-то сохранены.
Если 9X_core-java вы хотите сохранять атрибуты в запросах, вам 9X_core-java необходимо:
- Используйте скрытый ввод в вашей форме, например
" />
. Затем он будет доступен в сервлете в качестве параметра запроса. - Поместите его в сеанс (см.
request.getSession()
- в JSP это доступно просто какsession
)
Я рекомендую использовать сеанс, так 9X_.java как им легче управлять.
- ну, скажем так - сеанс, вероятно, лучше, чем все, что вы пишете сами :) Если вы используете приличный сервер приложений, он может выполнять репликацию и т. д., и у вас есть варианты х ...
Ответ #2
Ответ на вопрос: Использование request.setAttribute на странице JSP
Ответ Фила Сакре был правильным, однако 9X_jdk сеанс не следует использовать просто так. Вы 9X_oraclejdk должны использовать это только для значений, которые 9X_jee действительно должны действовать на протяжении всего 9X_j2se сеанса, таких как логин пользователя. Часто 9X_oraclejdk можно увидеть, как люди злоупотребляют сеансом 9X_java-ee-web-profile и сталкиваются с большим количеством проблем, особенно 9X_java-ee при работе с коллекцией или когда пользователи 9X_core-java возвращаются на страницу, которую они ранее 9X_.java посещали, только для того, чтобы обнаружить, что 9X_java-ee у них есть значения, оставшиеся от предыдущего 9X_java-ee-web-profile посещения. Умная программа максимально минимизирует 9X_javax объем переменных, плохая - слишком много 9X_j2ee использует сеанс.
Ответ #3
Ответ на вопрос: Использование request.setAttribute на странице JSP
Если вы хотите, чтобы ваши запросы не прекращались, попробуйте 9X_j2se следующее:
пример: на странице JSP или сервлета
request.getSession().setAttribute("SUBFAMILY", subFam);
и 9X_java-ee на любой принимающей странице используйте 9X_java следующие строки для получения вашего сеанса 9X_jdk и данных:
SubFamily subFam = (SubFamily)request.getSession().getAttribute("SUBFAMILY");
Ответ #4
Ответ на вопрос: Использование request.setAttribute на странице JSP
Вы можете сделать это с помощью атрибутов 9X_java-se pageContext, однако:
В JSP:
<% String s="opportunity";
pageContext.setAttribute("opp", s, PageContext.APPLICATION_SCOPE); %>
В сервлете (связанный 9X_jre с шаблоном URL "Enter.do"):
String s=(String) request.getServletContext().getAttribute("opp");
Существуют и 9X_request-object другие области помимо APPLICATION_SCOPE, например 9X_jee SESSION_SCOPE. APPLICATION_SCOPE используется 9X_java для атрибутов ServletContext.
Ответ #5
Ответ на вопрос: Использование request.setAttribute на странице JSP
Попробуйте
request.getSession().setAttribute("SUBFAMILY", subFam); request.getSession().getAttribute("SUBFAMILY");
9X_jakarta-ee
Ответ #6
Ответ на вопрос: Использование request.setAttribute на странице JSP
Поправьте меня, если ошиблись ... Я думаю, что 9X_java-ee запрос сохраняется между последовательными 9X_core-java страницами ..
Думаю, вы переходите со страницы 9X_jee 1 -> страницы 2 -> страницы 3
У вас есть 9X_jee какое-то значение, установленное в объекте 9X_java запроса с помощью setAttribute со страницы 9X_jdk 1, которое вы извлекаете на странице 2 с 9X_setattribute помощью getAttribute, а затем, если вы попытаетесь 9X_j2se снова установить что-то в том же объекте 9X_j2se запроса, чтобы получить его на странице 9X_java-libraries 3, он не даст вам null значение как «запрос, который 9X_javax создал JSP, и запрос, который создается 9X_java-ee-web-profile при отправке JSP, являются совершенно разными 9X_java-se запросами, и любые атрибуты, помещенные 9X_core-java в первый из них, не будут доступны во втором».
Я 9X_java-se имею в виду, что что-то вроде этого на странице 9X_java-se 2 не работает:
Где то же самое сработало 9X_j2se в случае страницы 1, например:
Поэтому я 9X_setattribute думаю, что мне нужно будет выбрать один 9X_oraclejdk из двух вариантов, предложенных Филом.
-
2
-
3
-
6
-
4
-
2
-
2
-
2
-
1
-
3
-
3
-
4
-
2
-
2
-
2
-
2
-
1
-
10
-
12
-
5
-
22
-
6
-
3
-
4
-
5
-
8
-
5
-
7
-
4
-
6
-
5
-
4
-
2
-
4
-
5
-
4
-
10
-
11
-
9
-
5
-
5
-
2
-
4
-
4
-
9
-
16
-
10
-
6
-
8
-
7
-
1