【问题标题】:Bean error with jsp:includejsp 的 Bean 错误:包括
【发布时间】:2011-08-27 21:39:03
【问题描述】:

我有一个页面太长,无法在一个块中处理(try 语句中的代码太长)所以我想切入不同的 jsp。但是现在我无法在包含的 jsp 中访问我的 bean,并且在任何范围内都收到无法找到 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 的方法?

【问题讨论】:

    标签: java jsp struts javabeans


    【解决方案1】:

    jsp:include 元素在执行 JSP 页面时被处理。包含操作允许您在 JSP 文件中包含静态或动态资源。包含静态资源和动态资源的结果是完全不同的。如果资源是静态的,则其内容将插入到调用 JSP 文件中。如果资源是动态的,则将请求发送到包含的资源,执行包含的页面,然后将结果包含在调用 JSP 页面的响应中。 - [reference]

    解决方案:

    尝试将包含的页面设为 JSP 片段 (.jspf)。 JSP 片段可以静态包含在另一个 JSP 中。而且它们不是自己编译的。

    进一步阅读:

    【讨论】:

      【解决方案2】:

      尝试将 bean 放入会话范围......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-29
        • 2013-10-21
        相关资源
        最近更新 更多