JSF转换器
<h:column>
<f:facet name= "header ">
<h:outputText value= "类型 "/>
</f:facet>
<h:outputText value= "#{bean.infoType} "/>
</h:column>
这句会输出信息的类型比如Enume-String,Int 等 ,如何写一个转换器遇到
Int自动转换为“整形”等等,书上网上都是输入时用的转换器,没见到输出用的,哪位有输出的转换器贴一下看看,我想了解 输出时 getAsObject
getAsString,这些是如何写的!如果有代码最好能帖全,谢谢各位!
------解决方案--------------------不清楚你想问什么,看不大懂你的问题。
------解决方案--------------------output组件没有转换器
自己在bean里写个新的get方法,返回你期望的结果吧
------解决方案-------------------- <t:panelGroup rendered= "#{bean.infoType == 'aaa '} ">
<h:outputText value= "bbb "/>
</t:panelGroup>
------解决方案--------------------不是复杂的数据类型为何需要converter啊?
------解决方案--------------------public Object getAsObject(FacesContext context, UIComponent componet, String string)
throws ConverterException {
if(null != string && string.equals( "aaa ")){
return sss;
}
return string ;
}
getAsString反过来。。。试试看,应该是你说的意思
------解决方案--------------------package org.chy.test.bean;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
public class UserConverter implements Converter {
public Object getAsObject(FacesContext context, UIComponent component,
String str) throws ConverterException {
// TODO 处理输入
if(null != string && string.equals( "sss ")){
return new String( "aaa ");
}
return string ;
}
public String getAsString(FacesContext context, UIComponent component,
Object obj) throws ConverterException {
//处理输出
if (obj == null) {
return new String( "对象是空的 ");
} else {
String str = ((String) obj).toString();
if(str.equals( "sss ")){
str= "aaa ";
}
}
return str;
}
}
仅供参考~
------解决方案--------------------package converter;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
public class StringConverter implements Converter {
public Object getAsObject(FacesContext context, UIComponent component,String str) throws ConverterException {
return str;
}
public String getAsString(FacesContext context,UIComponent component, Object obj) throws ConverterException{
if ("sss".equals((String)obj)) {
return "aaa";
}
return (String)obj;
}
}
然后在faces-config.xml中加入
<converter>
<converter-id>StringConverter</converter-id>