我有一个太长的页面,不能在一个块中处理( try语句中的代码太长),所以我想切入不同的jsp。但是现在我无法在包含的jsp中访问我的bean,并且我在任何作用域中都收到找不到bean:"org.apache.struts.taglib.html.BEAN“的消息。
我浏览了互联网,发现只有一个页面谈到了它,它说我的操作定义不能在页面范围内,我的范围是request。
下面是我的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吗?
发布于 2011-05-18 17:29:25
jsp:include元素是在执行JSP页面时处理的。include操作允许您在JSP文件中包含静态或动态资源。包含静态资源和动态资源的结果截然不同。如果资源是静态的,则将其内容插入到调用的JSP文件中。如果资源是动态的,则将请求发送到包含的资源,执行包含的页面,然后将结果包含在调用JSP页面的响应中。- [reference]
解决方案:
尝试将包含的页面设置为JSP片段(.jspf)。JSP片段被静态地包含在另一个JSP中。而且它们不是自己编译的。
进一步阅读:
发布于 2011-07-30 17:46:02
尝试将bean放入会话作用域...
https://stackoverflow.com/questions/6042497
复制相似问题