PGBox
P
G
Box

logic matchタグ

logicタグのメニューへ戻る



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

比較対象が、指定された文字列を含んでいる場合にボディ部を評価します。


属性必須意味
name比較対象にbeanを使用する場合に指定。対象のbean名を指定する。
property比較対象にbeanを使用する場合に指定。対象のbeanのプロパティ名を指定する。
scope比較対象にbeanを使用する場合に指定。対象のbeanを取得するスコープを指定する。page・request・session・applicationのいずれかを指定。省略時は自動的にbeanが存在するスコープが検索される。
parameter比較対象にリクエストパラメータを使用する場合に指定。リクエストパラメータ名を指定する。
header比較対象にリクエストヘッダを使用する場合に指定。リクエストヘッダ名を指定する。
cookie比較対象にクッキーの値を使用する場合に指定。クッキー名を指定する。
locationstartとした場合は前方一致、endとした場合は後方一致。省略した場合は前後方一致。
value含まれているかを調べる文字列を指定する。比較対象がこの値を含んでいる場合にボディ部が評価される。



例えば、Formが以下のように定義されており
public class SampleForm extends ActionForm {
    
    private String str1;
    
    private String str2;
    
    ※ 以下、setter, getter
}


Actionでは以下のように処理したとします。
public ActionForward execute(ActionMapping mapping, ActionForm form0, ...
    SampleForm form = (SampleForm) form0;
    
    form.setStr1("ABC");
    form.setStr2("DEF");
    
    return mapping.findForward("success");
}


フォーム内の値に対し、条件をかけるには、JSPでは以下のようにします。
<logic:match name="SampleForm" property="str1" value="B">
    str1は「B」を含んでいる<br />
</logic:match>
<logic:match name="SampleForm" property="str2" value="B">
    str2は「B」を含んでいる<br />
</logic:match>


結果は以下のようになります。
str1は「B」を含んでいる



また、beanの値以外にも、比較を行う事がですます。
以下の例は、リクエストパラメータ「p1」の値が「B」を含んでいる場合場合にボディ部が評価されます。
<logic:match parameter="p1" value="B">
    p1はBを含んでいる
</logic:match>








logicタグのメニューへ戻る