Как использовать синтаксис <% = request.getAttribute ("JsData")%> в Facelets? - PullRequest
0 голосов
/ 13 декабря 2011

Я только начал изучать JSF. В файле JSP мы можем использовать <%= request.getAttribute("JsData")%> для получения данных сеанса. Как мы можем получить данные сеанса в файле Facelets? Например:

<h:head>
    <script type="text/javascript">
    //<![CDATA[
    var query = jQuery.noConflict();
    function getInitData() {
              getJSData();
        }
    //]]>
    <%= request.getAttribute("JsData")%>
    </script>
</h:head>
<h:body onload="initData();">
<p:commandButton id="loginButton" value="login" ></p:commandButton>
<p:commandButton id="close" value="close" ></p:commandButton>
</h:body>

1 Ответ

2 голосов
/ 13 декабря 2011

Скриплеты JSP , к счастью, вообще не поддерживаются в Facelets.Просто используйте EL , как это было введено более 10 лет назад в JSP для замены скриптлетов .

#{JsData}

. Такие данные в JSF обычно готовятсяи подается каким-то управляемым бобом.Например,

#{someBean.jsData}

Не связанный с конкретной проблемой, request.getAttribute() не возвращает данные области сеанса, он возвращает данные области запроса.

...