下面是代码,
<h:panelGroup rendered="#{myBean.showDialogBox}"> //Boolean value from bean decides
//if Jquery Dialog box has to be shown or not for this User.
<script type="text/javascript">
/* <![CDATA[ */
var $h=jQuery.noConflict();
function myFunction()
{
$h(document).ready(function() {
$h("#someDivID").dialog({
// Dialog box attributes go here
});
}
myFunction(); // Call myFunction to render Jquery Dialog box
/* ]]> */
</script>
<div id="someDivID"> //Below JSF component gets displayed inside Jquery Dialog box
<h:commandLink value="Click Here" action="#{myBean.someMethod}"></h:commandLink>
</div>
</h:panelGroup>
问题:如果我删除h:panelGroup
,我的h:commandLink
工作良好(调用bean方法)。但是,我不能删除h:panelGroup
,因为这个对话框只能根据预定义的条件显示给少数用户。我想利用h:panelGroup
的rendered
属性。
我该如何解决这个问题?
可以是span问题中的div。尝试在你的h:panelGroup中添加layout="block",使其呈现为div。
将h:panelGroup
放在</script>
之后
下面是代码
<h:panelGroup rendered="#{myBean.showDialogBox}"> //Boolean value from bean decides
//if Jquery Dialog box has to be shown or not for this User.
<script type="text/javascript">
/* <![CDATA[ */
var $h=jQuery.noConflict();
function myFunction()
{
$h(document).ready(function() {
$h("#someDivID").dialog({
// Dialog box attributes go here
});
}
myFunction(); // Call myFunction to render Jquery Dialog box
/* ]]> */
</script>
</h:panelGroup> // This is what was required
<div id="someDivID"> //Below JSF component gets displayed inside Jquery Dialog box
<h:commandLink value="Click Here" action="#{myBean.someMethod}"></h:commandLink>
</div>
但是,如果有人能解释一下,我会很感激的。