如何在JavaScript中使用JSF组件

时间:2018-02-23 12:22:00

标签: javascript jsf

我在JSF页面中有以下javascript。如果condition ::

,它基本上在javascript中使用<h:outputText>语句
<script type="text/JavaScript" language="JavaScript">
/* <![CDATA[ */
    function popup() {
       if (<h:outputText value="#{searchListbean.displayPrintPopup}" />)
                displayPopup('popup');
    }

/* ]]> */
</script>

但我在控制台上有以下错误::

SyntaxError:期望表达式,得到&#39;&lt;&#39;

<语句中的<h:outputText>导致syntaxError问题。

我认为使用/* <![CDATA[ *//* ]]> */围绕javascript代码会解决它,但它没有。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

JSF组件不会在<script>标记内呈现。您可以使用延迟EL(#{...})。确保您调用的属性或方法正确转义要使用的输出JavaScript(在您的情况下只是"true""false")。

所以,在你的情况下,只需使用:

<script>
  function popup() {
    if (#{searchListbean.displayPrintPopup}) {
      displayPopup('popup');
    }
  }
</script>

另见: