日期:2014-05-18  浏览次数:20712 次

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>