gpt4 book ai didi

java - jsp 的 Bean 错误 :include

转载 作者:行者123 更新时间:2023-11-30 05:02:59 25 4
gpt4 key购买 nike

我有一个页面太长,无法在一个 block 中处理(try 语句中的代码太长),所以我想切入不同的jsp。但现在我无法在包含的 jsp 中访问我的 bean,并且收到 Cannot find bean: "org.apache.struts.taglib.html.BEAN"in any scope.

我查了一下互联网,发现只有一个页面谈论它,它说我的操作定义不能是页面范围,而我的范围现在是请求。

这是我的 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 ?

最佳答案

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

解决方案:

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

进一步阅读:

关于java - jsp 的 Bean 错误 :include,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6042497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com