Syboos jsf4jstl forEach tokenizer
2008/02/24 21:38Update
Syboos jsf4jstl では、1.20版からforEachのtokenizer機能を提供します。
概要
Syboos jsf4jstlのforEachタグのtokenizerプロパティはitemsに指定された文字列や、オブジェクトを変換するためのトークン処理クラス名が指定されることができます。
例:
<tc:forEach tokenizer="com.syboos.tfaces.sample.jstl.String2ListTokenizer">
トークンクラスはcom.syboos.faces.component.core.IForEachTokenizerインタフェースを継承する必要があります。
public interface IForEachTokenizer {
public Object tokenize(Object value);
}
パラメータ:
value: itemsに指定された値。
戻り値:Object。トークンクラスに解析された後の値
forEach tokenizer例
例:
forEachのitems値“computer,mouse,keyboard”(String値)をトークンクラスcom.syboos.tfaces.sample.jstl.String2ListTokenizerに処理させる例:
jsp
<%@ taglib uri="http://tfaces.syboos.com/tag/core" prefix="tc" %>
<tc:forEach items="computer,mouse,keyboard" var="hardware" tokenizer="com.syboos.tfaces.sample.jstl.String2ListTokenizer">
<h:outputText value="#{hardware}"></h:outputText>
<f:verbatim><br></f:verbatim>
</tc:forEach>
String2ListTokenizer.java
package com.syboos.tfaces.sample.jstl;
import java.util.ArrayList;
import java.util.List;
import com.syboos.faces.component.core.IForEachTokenizer;
public class String2ListTokenizer implements IForEachTokenizer {
private static final String SPLIT_CHAR = ",";
public String2ListTokenizer() {
super();
}
@SuppressWarnings("unchecked")
public Object tokenize(Object value) {
if (value == null || value.equals("")
|| !(value instanceof String)) {
return value;
}
List <String>ret = new ArrayList();
String []arrWords = ((String)value).split(SPLIT_CHAR);
for (String word: arrWords) {
ret.add(word);
}
return ret;
}
}
Sponsored Link
- Relative Articles
- Syboos jsf4jstl License - GNU LGPL - (2008/01/20 22:55)
- Syboos jsf4jstl とは? - (2008/01/20 23:03)
- Syboos jsf4jstl タグの使い方 (JSFでJSTLのコアタグ) - (2008/01/20 23:29)
- Syboos jsf4jstl Download - (2008/01/21 00:09)
- Syboos jsf4jstl quick start - (2008/02/24 19:27)
- Syboos jsf4jstl 1.20がリリースされました! - (2008/02/24 20:35)
- Syboos jsf4jstl forEach tokenizer 実装例2 - (2008/11/20 12:00)