Xpages 同一文档中的“提交”按钮在开发服务器上正确呈现,但在生产服务器上未正确呈现
我有一个按钮,它是在测试环境中按设计呈现的。当同一文档复制到与开发服务器具有相同配置的生产服务器时,不会显示该文档 要求amdin重新启动http任务,压缩数据库,但没有任何效果。测试和生产服务器文档具有相同的配置 检查什么 此屏幕截图来自生产数据库: 此屏幕截图是同一服务器上的同一文档,但位于Pilot文件夹中: 提交按钮的来源:Xpages 同一文档中的“提交”按钮在开发服务器上正确呈现,但在生产服务器上未正确呈现,xpages,Xpages,我有一个按钮,它是在测试环境中按设计呈现的。当同一文档复制到与开发服务器具有相同配置的生产服务器时,不会显示该文档 要求amdin重新启动http任务,压缩数据库,但没有任何效果。测试和生产服务器文档具有相同的配置 检查什么 此屏幕截图来自生产数据库: 此屏幕截图是同一服务器上的同一文档,但位于Pilot文件夹中: 提交按钮的来源: <xp:button value="Lab Man Approval" id="button4">
<xp:button
value="Lab Man Approval"
id="button4">
<xp:this.rendered><![CDATA[#{javascript:document1.isEditable() & (sessionScope.get("flag")==0) & (document1.getItemValueDate("SECTION1DATECOMPLETED")!=null) & (document1.getItemValueString("DOC_STAGE_TX") == "Stage 2") & (@IsMember(@Name("[ABBREVIATE]",document1.getItemValueString("LABManager_NM")),@Name("[ABBREVIATE]",@UserName())))}]]></xp:this.rendered>
<xp:eventHandler
event="onclick"
submit="true"
refreshMode="complete"
immediate="false"
save="true">
<xp:this.action>
<xp:executeScript>
<xp:this.script><![CDATA[#{javascript:var comboBox2:com.ibm.xsp.component.xp.XspSelectOneMenu = getComponent("comboBox2");
var a=comboBox2.getValue();
var f=sessionScope.get("flag");
if (f == 0){
sessionScope.put("flag",1);
}
var f=sessionScope.get("flag");
//sessionScope.put("ITDialog","flag value " + @Text(f));
//var d=getComponent('dialog1');
//d.show();
if (f == 1){
if ( a=="Accepted"){
var d=getComponent('dialog2');
d.show();
}
}
if (f == 1){
if ( a=="More information needed"){
var d=getComponent('dialog2');
d.show();
}
}
if (f == 1){
if ( a=="Cancelled"){
var d=getComponent('dialog2');
d.show();
}
}}]]></xp:this.script>
</xp:executeScript>
</xp:this.action>
</xp:eventHandler>
</xp:button>
对于渲染的条件,您得到了相当多的支持,您可能希望将其外包给函数调用。使用类似的方法并使用计算字段查看结果:
function renderApprovalButton(doc) {
var labManager = @Name("[ABBREVIATE]",doc.getItemValueString("LABManager_NM"));
var curUser = @Name("[ABBREVIATE]",@UserName());
/* Take this out when done */
print(doc.isEditable());
print(sessionScope.get("flag")==0);
print(doc.getItemValueDate("SECTION1DATECOMPLETED")!=null);
print(sessionScope.get("flag")==0);
print(doc.getItemValueString("DOC_STAGE_TX") == "Stage 2");
print(labManager);
print(curUser);
print(labManager==curUser);
/* End of debug to be taken out */
var result = doc.isEditable()
&& sessionScope.get("flag")==0
&& doc.getItemValueDate("SECTION1DATECOMPLETED")!=null
&& sessionScope.get("flag")==0
&& labManager == curUser;
return result;
}
这应该可以帮助我们了解出了什么问题我们需要更多的信息。。。屏幕截图?还有你在用哪个浏览器检查,Firebug或类似的CSS检查工具说了什么。可能类似于Internet Explorer中的生产服务器强制兼容模式,假设两个位置中都存在文件,所有浏览器都有相同的结果。我已将生产数据库复制到测试服务器,并且按钮可见。是否可以发布“提交”按钮的源以查看其可能执行的操作?运行时遇到意外错误。错误源页面名称:/XpPhysicalTestingCoil.xsp控件Id:computedField23上述代码给出错误:执行JavaScript计算表达式脚本解释器时出现异常错误错误,行=10,列=19:[TypeError]在类型为“lotus.domino.local.Document”的对象上调用方法“IsEdit”时出错[renderValue].RenderApprovalButton725E60317C3256F085257D72005805D6计算字段代码处的[Static Java Interface Wrapper,lotus.domino.local.Document:lotus.domino.Document]'