リファレンストップへ Java | logic notPresentタグ使用した環境 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:notPresent name="SampleForm" property="str1"> str1の値は存在しない<br /> </logic:notPresent> <logic:notPresent name="SampleForm" property="str2"> str2の値は存在しない<br /> </logic:notPresent> <logic:notPresent name="SampleForm" property="str3"> str3の値は存在しない<br /> </logic:notPresent> 結果は以下のようになります。 str2の値は存在しない str3の値は存在しない <logic:notEmpty>と似ていますが<logic:notPresent>は、チェック対象のbeanのプロパティが存在しない場合でもチェックする事が可能です。 上記の例では、SampleFormにはstr3というプロパティが存在していませんが、エラーにはなりません。 <logic:notEmpty>で同様の記述を行った場合は、「Bean SampleForm のプロパティ str3 に対するゲッターメソッドがありません」という内容のExceptionが発生します。 |
|