передача значений между сервлетом и Java-файлом - PullRequest
0 голосов
/ 10 мая 2011

У меня есть один пружинный контроллер, который устанавливает некоторые значения для запроса и показывает страницу JSP.Для просмотра части мы используем плитки.Страница результатов имеет 3 части, заголовок, содержимое и нижний колонтитул jsp.Этот заголовок JSP использует файл Java, и я хочу получить доступ к атрибутам, созданным первым контроллером Spring из этого файла.Есть ли способ сделать это без использования сессии?Когда я попробовал request.getAttribute, он дает ноль.Я думаю, что это потому, что это не непосредственный файл после установки значений запроса.

Ответы [ 2 ]

1 голос
/ 10 мая 2011

Вам действительно нужно добавить код, чтобы получить кодовый ответ, но если вы не используете JSP-скриптлеты, я предполагаю, что это Java-бин, который вы используете в заголовке.Это, конечно, не может получить доступ к запросу (отсюда и к сеансу), и это не должно быть на самом деле.Что вы, вероятно, хотите сделать, это преобразовать его в библиотеку тегов, если вы хотите, чтобы он имел доступ к запросу / сеансу.

1 голос
/ 10 мая 2011

Пока все выполняется в одном запросе и код контроллера выполняется перед частью представления, setAttribute() должно работать. Для устранения подобных проблем используйте Filter, который выводит URL-адрес запроса и атрибуты в консоль или журнал.

Если эти вызовы находятся в разных запросах, у вас есть два варианта: сеанс и бин Spring (используйте сессионный бин или вашу собственную реализацию). Я предпочитаю bean-компоненты, так как они безопасны от типов и позволяют мне отделять мой код от Servlet API, который сложно тестировать.

...