Xpages 单击Navigator条目隐藏我的节点
当xPage加载时,渲染代码工作正常。但是,当用户单击registerfore-Statements时,它们都会隐藏起来,直到我手动刷新页面。我尝试进行完整更新,但代码的其他部分在尝试访问一些JavaBean时失败 用于渲染的代码是我的全局javascript库中的 有什么想法吗Xpages 单击Navigator条目隐藏我的节点,xpages,xpages-extlib,Xpages,Xpages Extlib,当xPage加载时,渲染代码工作正常。但是,当用户单击registerfore-Statements时,它们都会隐藏起来,直到我手动刷新页面。我尝试进行完整更新,但代码的其他部分在尝试访问一些JavaBean时失败 用于渲染的代码是我的全局javascript库中的 有什么想法吗 <xe:navigator id="navigator1"> <xe:this.treeNodes> <xe:basicContainerNode
<xe:navigator id="navigator1">
<xe:this.treeNodes>
<xe:basicContainerNode label="Register for e-Statements"
submitValue="RegisterForEstatements" enabled="true">
<xe:this.rendered><![CDATA[#{javascript:myEStatements.renderStatements()}]]>
</xe:this.rendered>
</xe:basicContainerNode>
<xe:basicLeafNode label="View My e-Statements" onClick="linkToEstatements();">
<xe:this.rendered><![CDATA[#{javascript:myEStatements.renderStatements()}]]>
</xe:this.rendered>
</xe:basicLeafNode>
</xe:this.treeNodes>
<xp:eventHandler event="onItemClick" submit="true"
refreshMode="partial" refreshId="navigator1">
<xp:this.action><![CDATA[#{javascript:
if( context.getSubmittedValue() == "RegisterForEstatements" )
{
sessionScope.put( "dialogAcceptEStatementTitle", "Accept e-Statements!" );
var dialogAcceptEstatements = getComponent( "dlgAcceptEStatements" );
dialogAcceptEstatements.show();
return "";
}
sessionScope.put( "dialogOopsTitle", "Oopps!" );
sessionScope.put( "dialogOopsMessage", "\nThis Feature Has Not Been Enabled Yet!" );
var dialogOops = getComponent( "dialogOops" );
dialogOops.show();
return "";
}]]>
</xp:this.action>
</xp:eventHandler>
}]]>
</xe:navigator>
您必须在JS库和JavaBean中显示相关代码,否则这就是猜测游戏。如果myEstatements是一个托管bean,您可以像{myEstatements.renderStatements}一样直接执行EL,如果您的函数是boolean isRenderStatements{..},但这不是问题所在。我添加了额外的代码。我很好奇,如果你有什么想法,为什么我的豆子会在点击导航器时消失。。。应用程序配置文件闻起来像应用程序配置文件?您可能希望在代码中添加一个计算字段来返回该值,以查看它是否以您不期望的方式发生了更改我不明白您的意思。作为我创建的Bean的属性文件。我在这个自定义控件中尝试访问两个bean,当我在导航器中单击某个项时,它们似乎消失了。我得到的错误是找不到属性文件。不确定所有代码都在同一个自定义控件中,在加载页面时如何工作等。如果我将click事件从部分刷新更改为完全更新,我会得到相同的错误。我想说的是:在计算文本中直接显示bean的值。看一看前缀,它可能建议是一个应用程序范围变量?其他人会干涉吗?它超时了吗?为了弄清真相,您需要查看变量是否发生了我怀疑的变化——然后问题就在bean内部——并且您还需要用bean代码更新问题
var myEStatements =
{
// If the property receives Statements return true to display the e-Statement Links
// in the occ navigator
"renderStatements" : function()
{
var result = false;
try
{
result = aPropertyProfile.getStatementCoupon_1().equalsIgnoreCase( "Statement" );
} catch (e)
{
print(e.message);
}
return result;
},
// Fetch the e-Statement Accept Message
"getEStatementAcceptMessage" : function()
{
var eStatementAcceptMessage = "";
try
{
eStatementAcceptMessage = eStarService.getEStatementAcceptMessage();
} catch(e)
{
print( e.message );
}
return eStatementAcceptMessage;
}
}