如果我想从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