从JSF组件调用JavaScript似乎是错误的

时间:2011-04-27 17:30:09

标签: javascript jsf

如下从JSF组件调用JavaScript似乎是错误的。你能告诉我为什么吗?

<ui:define name="javascript">
    <script type="text/javascript">

            function myFunction( message ){
               alert( message);
            }   

    </script>
</ui:define>

<h:commandButton id="bas" value="bas"
    onclick=" myFunction('call js Function'); " />

1 个答案:

答案 0 :(得分:1)

有两件事“不对”:

  1. 您需要将JS代码放在自己的JS文件中并使用<script src="js/foo.js"></script>。 JS语言包含在基于XHTML的视图技术(例如Facelets,例如Facelets)中非法的运算符。 <>&等等。您需要将它们转义或将其包装在一个简单难看的CDATA块中。

  2. 如果您使用的是JSF 2.0,则应使用<h:outputScript>代替<ui:define> <script>

    <h:outputScript library="js" name="foo.js" />
    <h:commandButton id="bas" value="bas" onclick="myFunction('call js Function');" />