有条件地渲染属性

时间:2014-12-15 14:51:46

标签: jsf

在JSF中,我如何在Facelets中有条件地渲染onclick属性。

<div onclick="$(this).applyFancybox({trigger: !$.browser.msie, target: (event.srcElement || event.target)}); return false;">

如何得到类似的东西:

<div #{xBean.method eq null ? 'onclick="$(this).applyFancybox({trigger: !$.browser.msie, target: (event.srcElement || event.target)}); return false;' : ''>

2 个答案:

答案 0 :(得分:1)

使用JQuery

if (condition)
{
    $("#myDiv").click(functionA);
}
else
{
    $("#myDiv").click(functionB);
}

答案 1 :(得分:1)

就这么简单:

<div onclick="#{true ? 'console.log(true)' : ''}">Your contents.</div>

将呈现:

<div onclick="console.log(true)">Your contents.</div>

,而:

<div onclick="#{false ? 'console.log(true)' : ''}">Your contents.</div>

将呈现:

<div>Your contents.</div>

显然,您需要根据实际情况等更改true|false。所以您的示例将变为:

<div onclick="#{xBean.method eq null ? '$(this).applyFancybox({trigger: !$.browser.msie, target: (event.srcElement || event.target)}); return false;' : ''}">