1
我正在使用internet-explorer 8和jsf。 我做了我的自定義轉換器,在兩個空格之後添加「\ n」(打破太長的字符串)。轉換器正在被調用並返回正確的值(我用調試器檢查它),但不幸的是這個正確的值沒有顯示在頁面上。這是XHTML代碼:JSF轉換器不顯示轉換值
<h:commandLink action="#{bean.sort(property)}"
style="margin-left:0.01px;margin-right:0.01px;white-space:nowrap;">
<h:outputText value="#{header}">
<f:converter converterId="headerConverter" />
</h:outputText>
</h:commandLink>
轉換器代碼:在faces-config.xml中 預先感謝你的努力
public class HeaderConverter implements Converter {
public HeaderConverter() {
}
public Object getAsObject(FacesContext context, UIComponent component, String value) {
/* Converter tylko do wyświetlania */
throw new RuntimeException("HeaderConverter - display only");
}
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value instanceof String) {
int i = 0;
int spaceIter = 0;
String header = (String) value;
String afterChange = header;
for (char c : header.toCharArray()) {
if (Character.isWhitespace(c)) {
spaceIter++;
if(spaceIter == 2) {
afterChange = "" + header.substring(0, i) + "\n" + header.substring(i+1);
}
}
i++;
}
return afterChange;
}
return null;
}
} 我當然vonfigured一切。