Xpage定制控件动态绑定域
1、结果:(数据)域属性->表达式语言内容为:compositeData.CurDoc[compositeData.BindingFieldName]
2、BindingFieldName为控件自定义字符串属性,xpage输入
3、CurDoc为控件自定义属性:类型为:com.ibm.xsp.model.DataContext,编辑器为:数据源采集器;缺省值为:currentDocument
4、xpage传入CurDoc值为:currentDocument
一、一、CC配置:
CurDoc较为特殊,类型:com.ibm.xsp.model.DataContext;
控件事件afterPageLoad:
try{
var docDomino = currentDocument.getDocument();
var tempValue = "";
if (docDomino.isNewNote()){
var configDB:NotesDatabase = session.getDatabase("","Application/EmEditorConfig.nsf")
var configVW:NotesView = configDB.getView("vwEmEditorConfig");
var tmpKey = compositeData.Key;
if((tmpKey == "")||(tmpKey == null)){return;}
var configDoc:NotesDocument = configVW.getDocumentByKey(tmpKey);
if(configDoc == null){return;}
var entity:NotesMIMEEntity = configDoc.getMIMEEntity("EmEditContent");
if (entity == null) {return;}
var tempValue = entity.getContentAsText();
if((tempValue==undefined)||(tempValue == "")){return;}
importPackage(com.ibm.xsp.http);
if(getComponent("EmEditor_1") == null){
document1.setValue("EmEditor_1", com.ibm.xsp.http.MimeMultipart.fromHTML(tempValue));
}else{
getComponent("EmEditor_1").setValue(com.ibm.xsp.http.MimeMultipart.fromHTML(tempValue))
}
}
}catch(e){
print(e);
}
一、二:Xpage控制设置,KEY控制一个xpage可以加载多个控件;
二、使用案例:
文本编辑器:
1、拷贝CustomControl:TextEditor到自己的应用库中:
二、应用Xpage中TextEditor控件到对应的位置:
三、Xpage绑定的Form中创建存储编辑器内容的RTF域:
四、设置控制属性:
其中:
BindingFieldName:为绑定的RTF域名
CurDoc:默认值无须修改
EditorHight:为控件高度,默认400像素,可根据实际需要修改值(只写数字即可)
KEY:为对应配置库在的配置的KEY值
说明:
1、只有管理员可创建配置
2、如有业务人员需要配置,请先由管理员配置后将链接发给对应业务人员,业务人员只可修改模板内容,【关键字】【可编辑人员】请勿修改;