我有一个rich:datatable来显示数据库中的记录,并且有一些列。这是一个例子:
<rich:dataTable id="myTable" var="myItem" value="#{myList}">
<rich:column width="25%">
<h:outputText value="#{myItem.myValue}" />
</rich:column>
...
表格显示记录正常。我想将h:outputText
值显示为不同的值(我的意思是转换它)。例如,反向字符串或“查找和替换”结果。有numberConvertors,dateConvertors但找不到Strings。客户端解决方案(如javascript,jquery)也可能是合理的。有什么建议吗?
答案 0 :(得分:0)
String值没有defaultConverters。
你可以做的最简单的事情就是写一个替代的getMyValue() - 方法。
<h:outputText value="#{myItem.myModifiedValue}" />
和你的豆子一样
public String getMyModifiedValue() {
return doSomethingwith( this.myValue );
}
答案 1 :(得分:0)
有数字转换器,dateConvertors但找不到字符串
自己创建一个。
@FacesConverter("myStringConverter")
public class MyStringConverter implements Converter {
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
// Write code here which converts the model value before displaying.
}
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
// Write code here which converts the submitted value before updating model.
// Note that this method isn't ever used in output text.
}
}
按如下方式使用:
<h:outputText value="#{myItem.myValue}" converter="myStringConverter" />