PGBox
P
G
Box

nested writeNestingタグ

nestedタグのメニューへ戻る



使用した環境
JDK 6 Update 11
struts 1.3.10

ネスト状態を出力します。開発時のデバッグ用のタグです。


属性必須意味
property出力対象のプロパティを指定する。省略した場合は現在のネスト状態が出力される。
idネスト状態をセットする変数名。この属性を指定した場合は、タグの位置で出力は行われない。
filter出力を行う際に、htmlエスケープを行う場合にtrueを指定する。デフォルトはtrue。



少し複雑な構成ですが、以下のようなフォームでサンプルを作成します。
SampleForm.java
public class SampleForm extends ActionForm {

    private SampleItem1 sampleItem1;
    
    ※ 以下setter, getter
}

SampleItem1.java
public class SampleItem1 {

    private String prop1;
    
    private SampleItem2 sampleItem2;

    ※ 以下setter, getter
}

SampleItem2.java
public class SampleItem2 {

    private String prop2;
    
    ※ 以下setter, getter
}


アクションでは以下のように処理を行います。
public class SampleAction extends Action {
    
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form0, ...
        SampleForm form = (SampleForm) form0;
        
        SampleItem1 sampleItem1 = new SampleItem1();
        sampleItem1.setProp1("AAA");
        
        SampleItem2 sampleItem2 = new SampleItem2();
        sampleItem2.setProp2("BBB");
        
        sampleItem1.setSampleItem2(sampleItem2);
        
        form.setSampleItem1(sampleItem1);
        
        return mapping.findForward("success");
    }
    
}

JSPでは以下のように記述を行います。
<nested:form action="/sample">
    
    <nested:nest property="sampleItem1">
        【writeNesting】<nested:writeNesting />
        <nested:write property="prop1" />
        
        <nested:nest property="sampleItem2">
            【writeNesting】<nested:writeNesting />
            <nested:write property="prop2" />
            
        </nested:nest>
        
    </nested:nest>
    
</nested:form>

出力されるhtmlは以下のようになります。(改行やタブは見やすいように調整してあります。)
<nested:write>が、どのbeanを参照しているのかが分かるようになっています。
<form name="SampleForm" method="post" action="/struts-sample/sample.do">
    
    【writeNesting】sampleItem1
    AAA
    
    【writeNesting】sampleItem1.sampleItem2
    BBB
    
</form>





nestedタグのメニューへ戻る