我试图打开一些文档。从viewPanel里面的客户端注释。该应用程序也可以在网上运行。
当我打开文档时。在读取模式下,然后单击“编辑”按钮:
<xp:button value=" Editare" id="buttonEdit"
rendered="#{javascript:!currentDocument.isEditable()}" >
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action>
<xp:changeDocumentMode mode="edit" var="Contr"></xp:changeDocumentMode>
</xp:this.action>
</xp:eventHandler>
</xp:button>
我收到以下错误:
异常
java.lang.String与javax.faces.model.SelectItem不兼容
这只发生在笔记本客户端。
从堆栈跟踪:
com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(Unknown Source)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(Unknown Source)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(Unknown Source)
com.ibm.xsp.renderkit.html_basic.MenuRenderer.encodeEnd(Unknown Source)
.... ....
在逐个删除组合后,我注意到错误是在这一个,值是:
var a = [].concat(@Unique(@DbColumn(dbname, "vwA", 0))).sort();
var b = @Unique(@DbColumn(@DbName(),"vwB",0));
return a.concat(b);
任何想法为什么/我如何解决这个问题?
答案 0 :(得分:3)
错误很可能来自您的SSJS变量dbname
。请仔细检查为此变量设置的值。
如果java.lang.String incompatible with javax.faces.model.SelectItem
是字符串而不是数组,我会收到相同的错误dbname
。
答案 1 :(得分:0)
因此,组合框的这组selectItem有效:
<xp:selectItems>
<xp:this.value><![CDATA[#{javascript:applicationScope.globalSettings.allCurrencies}]]></xp:this.value>
</xp:selectItems>
就像这一样:
<xp:comboBox id="emailTypeCB1" value="#{newOrgDoc.EMailType}">
<xp:this.defaultValue><![CDATA[#{javascript:var keywordChoices = new TS_Keywords();
var tmp = keywordChoices.Lookup("Contact / email types", true);
return keywordChoices.getDefaultValue();}]]></xp:this.defaultValue>
<xp:selectItem itemLabel="-- choose --" id="selectItem14">
</xp:selectItem>
<xp:selectItems id="selectItems12">
<xp:this.value><![CDATA[#{javascript:return new TS_Keywords().Lookup("Contact / email types", true);}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
但是,如果我试过这个,如果viewScope.myChoices是一个字符串而不是具有多个值的东西,它将无法工作:
<xp:comboBox id="emailTypeCB1" value="#{newOrgDoc.EMailType}">
<xp:selectItems id="selectItems12">
<xp:this.value><![CDATA[#{javascript:viewScope.myChoices;}]]></xp:this.value>
</xp:selectItems>
</xp:comboBox>
我认为不同之处不仅仅是你在XPiNC中打开了一个而在浏览器中打开了一个,但是每个中的值都设置不同 - 当你在Notes中时最终变成一个字符串。