我在一个包含框架集的页面上声明了一个bean
<jsp:useBean id="pos" class="MyBeanscope="page">
<jsp:setProperty name="a" property="a"/>
</jsp:useBean>
[some initialisation of MyBean]
<frameset ... >
<frame src="/myframe1.jsp"...>
<frame src="/myframe2.jsp"...>
</frameset>
我的问题是,如何在属于框架集的jsps中访问MyBean?如果我在每个帧jsp中再次声明它们,我想我最终会得到其中的三个。
感谢您的帮助
赖安
答案 0 :(得分:2)
不使用HTML框架来包含部分/模板内容。这是1)不是SEO友好,2)不是用户友好,3)不开发人员友好 - 你发现,4)非常90的HTML风格(你在哪里了解框架?扔掉那个老式的书/教程和去拿一个现代的。)
完全是服务器端。使用jsp:include
包含部分/模板内容。
<jsp:useBean id="pos" class="MyBeanscope="page">
<jsp:setProperty name="a" property="a"/>
</jsp:useBean>
[some initialisation of MyBean]
<jsp:include page="/myframe1.jsp"...>
<jsp:include page="/myframe2.jsp"...>
当然,您可以将它们放在某些div中,并使用CSS来定位/设置它们。
答案 1 :(得分:1)
与IMG标记一样,每个FRAME标记都成为服务器对引用的JSP的另一个浏览器请求。所以这是3个单独的请求。由于它们是单独的请求,因此每个JSP都应声明自己的bean。
如果bean的创建成本很高,您可以将其范围扩展到会话,为“框架”JSP做好准备。