Struts 2ジェネレータタグの例
ダウンロードする – リンク://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コンバータのドキュメント]