jsf使用js渲染组件

时间:2014-12-23 11:54:56

标签: jsf primefaces

假设我有

<p:outputPanel/>

我想要做的是使用js方法而不是服务器端指定渲染的attr。 这是为了提高性能。 所以我需要这样的东西:

<p:outputPanel rendered = "someJsFunction()"/>

解决方案是什么?

2 个答案:

答案 0 :(得分:2)

在服务器端处理

rendered属性,如果它解析为false,则element不会添加到html文档中。因此,javascript甚至无法找到显示隐藏的元素,因为未创建

您唯一能做的就是删除呈现的属性并使用javascript更改元素的display属性。

<div id="myDiv">My Content</div>

<button onclick="myFunction()">Click Me</button>

<script>
function myFunction() {
    document.getElementById("myDIV").style.display = "none";
}
</script>

答案 1 :(得分:0)

嗯,您可以在页面加载时产生相同的效果,因为{+ 1}}属性仅在服务器端解析,因此使用rendered可以像

那样执行此操作
jQuery

并且不会显示。