如何在JSP框架集的许多页面中使用单个Java Bean

时间:2010-02-17 07:59:08

标签: java jsp tomcat javabeans

我在一个包含框架集的页面上声明了一个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中再次声明它们,我想我最终会得到其中的三个。

感谢您的帮助

赖安

2 个答案:

答案 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做好准备。