我想要的是在我的javascript中使用来自applicationContext.properties(Jboss配置文件)的布尔值。
目前我使用Spring将applicationContext.properties中配置的值注入我的backingbean。 然后我把输出文本放在我的jsp中,就像这样
<h:outputText id="idValue" styleClass="foo" value="" rendered="#{bean.isRendered}"/>
在我的JavaScript中,我尝试按照
jQuery(function(){
bRedirect = jQuery(".foo").value != undefined;
...
这一切对我来说都很糟糕,尽管它运作正常。必须有一种比做我所做的更聪明的方式。
请注意,我正在运行JSF1.2,因此必须使用jQuery而不是$,并且还要使用唯一的类(foo)而不是id,这也可能是不好的做法。
提前谢谢你。阿尔方
答案 0 :(得分:1)
假设在渲染零件时要调用该函数,您可以在模板中嵌入函数调用:
<script type="text/javascript">
myFunction("#{springExpressionForBooleanValue}")
</script>
和myFunction定义驻留在JSF未处理的.js文件中。我无法理解为什么在这种情况下你无法使用$来解决jQuery对象。
如果要通过某种交互调用该函数,则可以使其成为JSF组件的onclick / oblur etc属性的一部分。
您还可以在script标签中嵌入整个函数,但我认为最好将JavaScript逻辑与模板分开。
答案 1 :(得分:0)
我解决了问题后的几周,今天我遇到了t:jsValueSet。
在我的情况下,这将是解决上述问题的最佳方法。 您可以按如下方式使用它:
<t:jsValueSet name="test" value="#{myBean.myInfoText}"/>
在javaScript中,您现在可以访问名为test的新变量:
<script type="text/javascript">
alert (test);
</script>