Как использовать один JavaBean на многих страницах через набор фреймов JSP - PullRequest
2 голосов
/ 17 февраля 2010

У меня объявлен бин на странице, содержащей набор фреймов

<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>

У меня вопрос, как мне получить доступ к MyBean в jsps, которые входят в frameset? Если я объявлю их снова в каждом кадре jsp, я думаю, что в итоге получу три из них.

Спасибо за любую помощь

Ryan

Ответы [ 2 ]

2 голосов
/ 17 февраля 2010

Do not использовать HTML-фреймы для включения частичного / шаблонного содержимого. Это: 1) не дружественный к SEO, 2) не дружественный к пользователю, 3) не дружественный для разработчика - как вы узнали, 4) стиль HTML очень 90-х (где вы снова узнали о фреймах? иди купи современный).

Скорее делайте это полностью на стороне сервера. Используйте 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 голос
/ 17 февраля 2010

Как и тег IMG, каждый из тегов FRAME становится еще одним запросом браузера к серверу для указанных JSP. Так что это 3 отдельных запроса. Поскольку они являются отдельными запросами, каждая из JSP должна объявить свой собственный компонент.

Если bean-компонент является дорогостоящим, вы можете использовать его в сеансе, готовый к "рамочным" JSP.

...