인터넷 익스플로러 8 및 jsf를 사용하고 있습니다. 두 개의 공백 뒤에 "\ n"을 추가하는 사용자 지정 변환기를 만들었습니다 (너무 긴 문자열을 나누기 위해). 변환기가 호출되고 올바른 값 (디버거로 확인)을 반환하지만 불행히도이 올바른 값은 페이지에 표시되지 않습니다.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>
컨버터 코드 : 얼굴-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 한 모든이 XHTML 코드입니다.