如果我想從JavaScript內評估JSF bean屬性,我發現它在JavaScript代碼片段位於xhtml文件內時有效,但在JavaScript代碼片段不起作用在一個單獨的js文件中。未在外部JavaScript文件中評估JSF bean屬性
所以,這個工程:
的index.xhtml
...
<h:body>
<script type="text/javascript" src="resources/Javascript/jquery/jquery-1.7.2.js" />
<script type="text/javascript" >
$(document).ready(function() {
alert('#{myBean.myProperty}');
});
</script>
</h:body>
但這並不評估ManagedBean的財產:
的index.xhtml
...
<h:body>
<script type="text/javascript" src="resources/Javascript/jquery/jquery-1.7.2.js" />
<script type="text/javascript" src="resources/Javascript/MyJS.js" />
</h:body>
個MyJS.js
$(document).ready(function() {
alert('#{myBean.myProperty}');
});
在第二種情況下,警告框包含不評估串#{myBean.myProperty}
我怎樣才能使它從外部的js文件的工作?
我認爲你從外部無法JS,作爲一種解決方法,你需要通過調用它像'functionName(#{value})那樣將這個值從JSF頁面傳遞給JS函數的唯一方法;'並且像JS正常值那樣在JS文件中做你想要的東西 – 2012-07-15 10:14:45
謝謝,這使得很多s ense! – perissf 2012-07-15 10:18:52
您也可以將.js轉換爲.jsp。 JSF API中有方法可以讓你從Java代碼中處理EL表達式。 – SJuan76 2012-07-15 10:22:21