我需要转换h:outputtext

时间:2012-11-09 09:11:33

标签: javascript jsf richfaces

我有一个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)也可能是合理的。有什么建议吗?

2 个答案:

答案 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" />