У меня есть приложение, которое позволяет пользователю выполнять поиск.
На основании введенных критериев поиска выполняется служебный вызов функции DAO (событие шаблона jsp -> перехватчики -> процессоры -> службы -> DAO -> база данных) и возвращается список результатов, который получаетотображается в myView.jsp
Код, как показано ниже, используется для чтения данных TO в JSP:
<jsp:usebean id="myTO" type="com.myPackage.MyTO" scope="session"/>
и в теле что-то вроде
<%= myTo.getSomething() =%>
Каждый элементв списке кликабельно для деталей.Таким образом, при щелчке элемента 2 в списке будет сделан еще один вызов с идентификатором элемента 2, чтобы получить более подробную информацию о элементе 2.
В зависимости от типа элемента детали выбираются в разных TO.например, Type1TO, Type2TO.
Таким образом, подробные данные об элементе возвращаются в одном таком TO.
Проблема: я показываю детали в той же JSP.Таким образом, returnURL второго запроса перенаправляется в myView.JSP
. Поэтому я поместил строку наподобие
<jsp:usebean id="type1TO" type="com.myPackage.Type1TO" scope="session"/>
Однако, это дает ошибку при первом вызове поиска по списку, когда выше Type1TO делаетеще не существует.Ошибка - что-то вроде «невозможно найти type1TO в сеансе области действия»
Как я могу решить эту проблему ???
Есть ли способ поместить тег jsp: usebean в условие if вместо, где оно должно быть использовано в организме ??Или любое другое решение этой проблемы?
Я новичок в JSP и имею дело с устаревшей JSP.Так что очень продвинутый JSP (сложный EL) может оказаться невозможным.