リファレンストップへ Java | logic presentタグ使用した環境 JDK 6 Update 11 struts 1.3.10 チェック対象が、存在する場合にボディ部を評価します。
例えば、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(null); return mapping.findForward("success"); } フォーム内の値に対し、条件をかけるには、JSPでは以下のようにします。 <logic:present name="SampleForm" property="str1"> str1の値は存在する<br /> </logic:present> <logic:present name="SampleForm" property="str2"> str2の値は存在する<br /> </logic:present> <logic:present name="SampleForm" property="str3"> str3の値は存在する<br /> </logic:present> 結果は以下のようになります。 str1の値は存在する <logic:empty>と似ていますが<logic:present>は、チェック対象のbeanのプロパティが存在しない場合でもチェックする事が可能です。 上記の例では、SampleFormにはstr3というプロパティが存在していませんが、エラーにはなりません。 <logic:empty>で同様の記述を行った場合は、「Bean SampleForm のプロパティ str3 に対するゲッターメソッドがありません」という内容のExceptionが発生します。 |
|