ダウンロードする – リンク://wp-content/uploads/2010/07/Struts2-Generator-Tag-Example.zip[Struts2-Generator-Tag-Example.zip]

Struts 2

generator

タグは、ページに提供された ”

val

“属性に基づいてイテレータを生成するために使用されます。このチュートリアルでは、Struts 2

generator

タグを使用して次のタスクを実行します。

  1. ジェネレータタグ付きイテレータを作成します.

  2. ジェネレータタグを持つイテレータを作成し、イテレータの値を変更する



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>

リファレンス

2コンバータのドキュメント]