Webクリエイティブ集団、アイレット株式会社の代表取締役が綴る
Web制作・開発の気になる最新技術レビュー。  RSS Feeds
スカウター : [iret-ceo] アイレット株式会社CEOブログ

2007年12月13日木曜日

Teeda converter 全角カナ 半角カナ 変換

TeedaでカスタムConverter作成
全角カナ→半角カナ 変換です。
ちょっと一個一個作るの面倒だけどJar化すればいいね

以下ソースコード
○アノテーション用クラス作成
-----------------------------------------------------------------
package jp.co.iret.converter;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.seasar.teeda.extension.annotation.convert.Converter;

@Retention(RetentionPolicy.RUNTIME)
@Target( { ElementType.FIELD, ElementType.METHOD })
@Converter("zenhanConverter")
public @interface Zenhan {
String target() default "";
String messageId() default "";
}
-----------------------------------------------------------------

○Converter用クラス作成(ダサい名前・・・)
-----------------------------------------------------------------
package jp.co.iret.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;

import jp.co.iret.util.Tools;


public class ZenhanConverter implements Converter {

public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) throws ConverterException {
return arg2;
}

public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) throws ConverterException {
String str = (String)arg2;
   // 全角カナから半角カナに変換関数
str = Tools.toHalfKana(str);
return str;
}
}