У меня есть приложение tomcat с jsf 1.1
Корпус:
В моем приложении есть jsp (пусть назовем его /create.jsp), который содержит форму для создания бизнес-объекта (представьте тип person). Одним из атрибутов этого бизнес-объекта является отношение к себе (у человека BO есть атрибут отца, который также имеет тип человека). Для этой свиньи в JSP у меня есть выбор и кнопка. Кнопка позволяет создать новый бизнес-объект (в данном случае человек). Следовательно, jsp-шоу во всплывающем окне совпадает с показанным в главном окне
Проблема:
Я сталкиваюсь с неправильным поведением в главном окне.
Причина:
Я изучил этот случай, и причина проблемы заключается в идентификаторах представлений, хранящихся на сервере. Когда пользователям требуется новая страница, сервер создает представление (ViewRoot) и сохраняет его в сеансе. Путь JSP используется в качестве идентификатора представления. Когда пользователь отправляет форму, он повторно использует то же представление, которое хранится в сеансе.
Проблема в моем случае заключается в том, что всплывающее окно ViewRoot и главное окно ViewRoot имеют одинаковый идентификатор. Поэтому, когда показано главное окно, его viewRoot будет сохранен (скажем, id /create.jsp), но, когда появится всплывающее окно, его viewRoot перезапишет основное в сеансе. После закрытия всплывающего окна пользователь попытается отправить главную страницу, но на сервере такого ViewRoot нет.
Возможное решение:
Я думал об изменении создания идентификатора ViewRoot, но мне кажется, что это невозможно (по крайней мере, если я не изменю библиотеку jsf).
--- СТАРЫЙ ТЕКСТ ---
У меня есть JSP с формой (пусть назовите его /create.jsp), который открывает всплывающее окно. Это всплывающее окно также будет использовать /create.jsp.
Из-за того, что JSF view-id основан на пути jsp, обе страницы будут иметь один и тот же идентификатор. Поэтому, когда отображается всплывающее окно, представление, сохраненное в сеансе для главной страницы, перезаписывается новым. Из-за этого приложение не работает должным образом.
Есть ли способ изменить идентификаторы видов? у кого-нибудь есть решение?
Спасибо