在javascript中使用来自支持bean的值

时间:2011-12-01 09:46:08

标签: jquery spring jsf

我想要的是在我的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,这也可能是不好的做法。

提前谢谢你。阿尔方

2 个答案:

答案 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>