2010-04-06 51 views
0

我必须根据bean的值调用JavaScript函数。我用下面的代码如何有条件地在JSF EL中调用Javascript函数?

onmouseover="#{occasionBean.user.userPreference.defaultPreview==true?'':'Tip()'})" 

我需要在提示(发送一些参数)这样

Tip('<img src="pics/image.jpg" width="60">') 

错误我得到是javax.servlet.jsp.JspException:javax.faces。 el.EvaluationException:com.sun.faces.el.impl.parser.ParseException:在第1行第60列遇到“测试”。 期待以下之一: “}”... “。” ... “>” ... “GT” ... “<” ...... “LT” ... “==” ... “当量” ...... “< = “...... ”了“ ...... ”> =“ ... ”GE“ ...... ”!=“ ... ”NE“ ...... ”[“ ...... ” + “... ” - “ ...... ”*“ ...... ”/“ ...... ”格“ ...... ”%“ ...... ”国防部“ ...... ” 和“... ”& &“... ”或“... ”||“ ... “?” ... “

回答

2

首先,摆脱最终收盘括号:

onmouseover="#{occasionBean.user.userPreference.defaultPreview==true?'':'Tip()'}" 

然后我会建议不要通过HTML结构作为参数。你最好使用类似的东西:

Tip(\'img\', \'pics/image.jpg\', 60) 

并在Tip方法中构造html,这可能会因为不同类型的提示而被重载。

+0

Hi Bozho我需要在Tip方法中发送然后它会显示该图像。 Tip()只应在defaultPreview == true时调用。 – Paul 2010-04-06 13:34:23

+0

好吧,尝试转义使用'\'' – Bozho 2010-04-06 13:36:35