如何在表达式语言中将 int 转换为字符串?
How to convert int to string in Expression Language?
我在 XPages(JSF 视图控制器)中工作。在我的 DataTable 中,我想创建一个 html 属性 data-dmrkey="##"
这是页面上的 XML 标记。构建良好。
<xp:attr name="data-dmrkey" value="#{rowData.dmrkey}"></xp:attr>
在运行时我收到这条消息
javax.faces.FacesException: java.lang.ClassCastException:
java.lang.Long incompatible with java.lang.String
javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:865)
com.ibm.xsp.component.UIDataPanelBase.invokeOnComponent(UIDataPanelBase.java:416)
是否有表达式语言方法可以将此基本类型转换为字符串?
不确定是否在 EL 中转换为字符串,但如果将表达式更改为 JavaScript,该属性可以正常工作:
<xp:attr name="someAttr" value="#{javascript:rowData.getColumnValue('someIntField')}"/>
我知道这个问题已经出现一段时间了,但这会起作用:
value="0#{rowData.drmKey}"
这利用了 java 在连接时自动将数字转换为字符串的方式。在计算该值时,它 returns "0"+rowData.drmKey,将其转换为带有前导零的字符串 - 然后可以将其解析回 Long(或 Integer 等)
我在 XPages(JSF 视图控制器)中工作。在我的 DataTable 中,我想创建一个 html 属性 data-dmrkey="##"
这是页面上的 XML 标记。构建良好。
<xp:attr name="data-dmrkey" value="#{rowData.dmrkey}"></xp:attr>
在运行时我收到这条消息
javax.faces.FacesException: java.lang.ClassCastException: java.lang.Long incompatible with java.lang.String javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:865) com.ibm.xsp.component.UIDataPanelBase.invokeOnComponent(UIDataPanelBase.java:416)
是否有表达式语言方法可以将此基本类型转换为字符串?
不确定是否在 EL 中转换为字符串,但如果将表达式更改为 JavaScript,该属性可以正常工作:
<xp:attr name="someAttr" value="#{javascript:rowData.getColumnValue('someIntField')}"/>
我知道这个问题已经出现一段时间了,但这会起作用:
value="0#{rowData.drmKey}"
这利用了 java 在连接时自动将数字转换为字符串的方式。在计算该值时,它 returns "0"+rowData.drmKey,将其转换为带有前导零的字符串 - 然后可以将其解析回 Long(或 Integer 等)