Dav*_*edy 6 java xpages xpages-extlib
我有这个代码:
<xe:formTable id="formTable1" formTitle="User Roles">
<xe:formRow id="formRow1" label="Category Admin">
<xe:djextNameTextBox id="edtCatAdmin" multipleSeparator="," value="#{exhibitorInfo.categoryAdmin}" />
<xe:namePicker id="namePicker1" for="edtCatAdmin">
<xe:this.dataProvider>
<xe:namePickerAggregator>
<xe:this.dataProviders>
<xe:dominoNABNamePicker addressBookSel="first" groups="false" people="true" />
<xe:dominoViewNamePicker labelColumn="mailinName" viewName="lkp_MailIn" label="Group Mailboxes" />
</xe:this.dataProviders>
</xe:namePickerAggregator>
</xe:this.dataProvider>
</xe:namePicker>
</xe:formRow>
</xe:formTable>
Run Code Online (Sandbox Code Playgroud)
目标是只有一个多值名称选择器,将其保存在Java Bean中,而不是文档字段中.因此,名称选择器指向xe:djextNameTextBox以便于删除名称,并且xe:djextNameTextBox绑定到我的bean.
使用此Java代码 -
public void setCategoryAdmin(ArrayList<String> categoryAdmin) {
System.out.println("Set CategoryAdmin - List");
this.categoryAdmin = categoryAdmin;
}
public void setCategoryAdmin(String categoryAdmin) {
System.out.println("Set CategoryAdmin - String");
if (!this.isBlankString(categoryAdmin)) {
ArrayList<String> al = new ArrayList<String>();
al.add(categoryAdmin);
this.setCategoryAdmin(al);
}
}
Run Code Online (Sandbox Code Playgroud)
它似乎适用于MULTIPLE值.但如果只使用一个valule,我会收到一个错误:java.lang.IllegalArgumentException:参数类型不匹配
我认为这与XPages为多个值返回一个数组和为单个值返回一个String有关.但我不确定如何使这项工作.
任何意见,将不胜感激!谢谢!!
--UPDATE--来自Camac链接到的博客文章的代码似乎有效.
public Object getCategoryAdmin() {
System.out.println("getCategoryAdmin");
return this.categoryAdmin;
}
@SuppressWarnings("unchecked")
public void setCategoryAdmin( Object inputMulti ) {
this.categoryAdmin = this.translateToVector( inputMulti );
}
@SuppressWarnings("unchecked")
public Vector translateToVector( Object object ){
if( object instanceof String ){
Vector list = new Vector();
list.add( object );
return list;
}
if( object instanceof List ){
return (Vector)object;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
我记得有同样的问题,并使用此链接提示帮助:http: //dontpanic82.blogspot.com.au/2012/06/multi-value-fields-and-beans-in-xpages.html
也许尝试让公共getter和setter使用java.lang.Object,而不是有2个不同的?
归档时间: |
|
查看次数: |
1004 次 |
最近记录: |