JavaScript 内から JSF Bean プロパティを評価したい場合、JavaScript スニペットが xhtml ファイル内にある場合は機能しますが、JavaScript スニペットが別の js ファイル内にある場合は機能しません。
したがって、これは機能します:
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}');
});
この 2 番目のケースでは、アラート ボックスに未評価の文字列が含まれています。#{myBean.myProperty}
外部jsファイルから動作させるにはどうすればよいですか?