我有一个由几个自定义控件组成的Xpage - 应用程序布局,内容(dojo_data网格),以及显示用户可以更改的一些用户数据的自定义控件。
在9客户端中一切正常,但在网络上我收到以下错误消息:
日志显示:
CLFAD0134E:异常处理XPage请求
我在自定义控件中有一个带有用户数据的保存按钮,该按钮具有SSJS:
var usrNme = session.getCommonUserName();
var v:NotesView = database.getView("(employeesByFullName)");
var doc:NotesDocument = v.getDocumentByKey(usrNme);
var tmpOfficePhone = employee.getItemValueString("HR_OfficePhone")
doc.replaceItemValue("HR_OfficePhone",tmpOfficePhone);
var tmpCellPhone = employee.getItemValueString("HR_CellPhone")
doc.replaceItemValue("HR_CellPhone",tmpCellPhone);
var tmpExtension = employee.getItemValueString("HR_Extension")
doc.replaceItemValue("HR_Extension",tmpExtension);
var tmpDirectDial = employee.getItemValueString("HR_DirectDial")
doc.replaceItemValue("HR_DirectDial",tmpDirectDial);
var tmpPersonalEmail = employee.getItemValueString("HR_PersonalEmail")
doc.replaceItemValue("HR_PersonalEmail",tmpPersonalEmail);
doc.save();
var x= "alert('Your changes have been saved.')";
view.postScript(x);
我选择了部分更新,无论我选择更新,我仍然会收到错误,只是略有不同的措辞。示例:我将所有内容放在面板中并在面板上进行部分更新,然后我收到面板的错误。
它始终在客户端中运行,但从不在Web浏览器中运行。
有谁能告诉我发生了什么事?
答案 0 :(得分:1)
您希望重新构建应用程序并使用数据绑定,而不是手动执行文档和控件。您可能希望从a tutorial开始,但这是它的要点:
.computeWithForm
现在,要使用该XPage实际编辑现有文档,请执行以下操作之一:
让我们知道它是怎么回事。查看XPages Cheatsheet以获取有关所有这些内容的简明信息。
答案 1 :(得分:0)
非常感谢西蒙。我不知道这个地方有错误。我发现的是:
Script interpreter error, line=6, col=5: 'doc' is null
4:
5: var tmpOfficePhone = employee.getItemValueString("HR_OfficePhone")
-> 6: doc.replaceItemValue("HR_OfficePhone",tmpOfficePhone);
7:
8: var tmpCellPhone = employee.getItemValueString("HR_CellPhone")
doc是null,因为我有一段糟糕的代码来设置文档。我一直在使用session.getCommonName但应该使用:
var usrNme = @Name("[CN]",session.getEffectiveUserName());
更换这行代码后,一切正常。感谢!!!