ダウンロードする – リンク://wp-content/uploads/2010/07/Struts2-Generator-Tag-Example.zip[Struts2-Generator-Tag-Example.zip]
Struts 2
generator
タグは、ページに提供された ”
val
“属性に基づいてイテレータを生成するために使用されます。このチュートリアルでは、Struts 2
generator
タグを使用して次のタスクを実行します。
-
ジェネレータタグ付きイテレータを作成します.
-
ジェネレータタグを持つイテレータを作成し、イテレータの値を変更する
「
Converter
」オブジェクトを使用します。
1.アクション
「
Converter
」オブジェクトを返すメソッドを持つActionクラス。
package com.mkyong.common.action;
import org.apache.struts2.util.IteratorGenerator.Converter;
import com.opensymphony.xwork2.ActionSupport;
public class GeneratorTagAction extends ActionSupport{
public String execute() {
return SUCCESS;
}
public Converter getLanguageConverter(){
return new Converter() {
public Object convert(String value) throws Exception {
if("java".equals(value)){
return "[java value in converter]- " + value;
}else{
return value;
}
}
};
}
}
2.ジェネレータタグの例
動的にイテレータを作成するための
generator
タグの使用を示すJSPページ。 valをイテレータのエントリに分ける ”
separator
“属性が必要です。
”
converter
“属性はオプションで、値を変更することができます。この場合、GeneratorTagActionの
getLanguageConverter()
メソッドを呼び出し、値が “java”文字列と等しい場合は値を変更します。
-
generator.jsp **
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
</head>
<body>
<h1>Struts 2 Generator tag example</h1>
1. Generator tag example.
<s:generator val="%{'java|.net|c|python|shell'}" separator="|">
<ol>
<s:iterator>
<li><s:property/></li>
</s:iterator>
</s:generator>
</ol>
2. Generator tag with converter example
<s:generator val="%{'java|.net|c|python|shell'}" separator="|"
converter="%{languageConverter}">
<ol>
<s:iterator>
<li><s:property/></li>
</s:iterator>
</s:generator>
</ol>
</body>
</html>
このジェネレータタグのユースケースを見つけることはできません。ページ内のイテレータの値をハードコアすることはお勧めしません。
3. struts.xml
リンク〜
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true"/>
<package name="default" namespace="/" extends="struts-default">
<action name="appendTagAction"
class="com.mkyong.common.action.AppendTagAction" >
<result name="success">pages/appendIterator.jsp</result>
</action>
</package>
</struts>
リファレンス
-
http://struts.apache.org/2.1.8/docs/generator.html
[Struts 2 Generator
ドキュメンテーション]。
http://struts.apache.org/2.1.8/struts2-core/apidocs/org/apache/struts2/util/IteratorGenerator.Converter.html
[Struts
2コンバータのドキュメント]