以下是代码,
<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
,因为此对话框必须仅根据预先定义的条件显示给少数用户。
我想使用rendered
的{{1}}属性。
我该如何解决这个问题?
答案 0 :(得分:0)
它可能是跨度问题中的div。尝试在h:panelGroup中添加layout =“block”,使其呈现为div。
答案 1 :(得分:0)
在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>
但是,如果有人能够解释这一点,我将不胜感激。