2011-04-27 29 views
0

如下調用JSF組件的JavaScript似乎是錯誤的。你能告訴我爲什麼嗎?從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

有兩件事情是 「不對」:

  1. 你需要把JS代碼在自己的JS文件,並使用<script src="js/foo.js"></script>。 JS語言包含在基於XHTML的視圖技術中非法的操作符,例如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');" />