Ошибка bean с jsp: include - PullRequest
       28

Ошибка bean с jsp: include

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

У меня есть страница, которая слишком длинна для обработки в одном блоке (код слишком длинный в операторе try), поэтому я хотел разрезать на другой jsp. Но теперь я не могу получить доступ к своему bean-компоненту во включенном jsp, и я получаю сообщение Cannot find bean: "org.apache.struts.taglib.html.BEAN" в любом объеме.

Я просмотрел Интернет и обнаружил только одну страницу, в которой говорится об этом, там говорится, что мое определение действия не должно относиться к области страницы, а моя область действия - запрос.

Вот пример моего page1.jsp

<html:form action="editFooBarAction">
  <jsp:include page=page2.jsp/>
</html:form>

page2.jsp содержит некоторые теги html: и использование bean-компонента формы.

вот определение моего действия

<action
  path="/edit*"
  type="com.sham.web.action.{1}Action"
  name="{1}Form"
  scope="request"
  validate="true"
  input="edit.{1}">
  <forward name="edit" path="edit.{1}"/>
  <forward name="view" path="view.{1}"/>
</action>

Есть ли способ использовать jsp: include как этот?

Ответы [ 2 ]

1 голос
/ 30 июля 2011

Попробуйте поместить компонент в область видимости сеанса ....

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

Элемент jsp:include обрабатывается при выполнении страницы JSP.Действие include позволяет включать статический или динамический ресурс в файл JSP.Результаты включения статических и динамических ресурсов совершенно разные.Если ресурс статический, его содержимое вставляется в вызывающий файл JSP.Если ресурс является динамическим, запрос отправляется включенному ресурсу, включенная страница выполняется, а затем результат включается в ответ от вызывающей страницы JSP.- [ссылка]

Решение:

Попробуйте сделать включенную страницу фрагментом JSP (.jspf).Фрагменты JSP должны быть статически включены в другой JSP.И они не компилируются сами по себе.

Дополнительная литература:

...