トップ 一覧 置換 検索 ヘルプ RSS ログイン

SAStrutsのカスタムタグ・EL式の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。

!!!カスタムタグ・EL式
http://www22.atwiki.jp/seasar2/pages/19.html
,要素 ,使用するタグ ,種類 ,備考
,フォーム ,s:form ,SAStruts ,
,リンク ,s:link ,SAStruts ,
,ボタン ,html:submit ,Struts ,クライアントバリデーションを使うのであればs:submit
,テキストボックス ,html:text ,Struts ,
,ラジオボタン ,html:radio ,Struts ,
,チェックボックス ,html:multibox ,Struts ,
,セレクトボックス ,html:select ,Struts ,

!!値の出力
 ${f:h(id)}
 ${f:h(name)} }

!!ループ
itemsに指定する変数名と、varに指定する変数名は同じにする必要がある。
 <c:forEach var="customerList" varStatus="s" items="${customerList}">
     ${f:h(customerList.customerName)}
 </c:forEach>

ループのカウンタを出力したい場合は、varStatusを使用。
 <c:forEach var="customerList" varStatus="s" items="${customerList}">
     ${f:h(s.index)}<br>
 </c:forEach>

!!単純な分岐
 <c:if test="${id==10}" >
     ${f:h(id)}
 </c:if>

変数がnull or 空かどうかは、emptyを使用。Listが空かどうかを判定するためによく使用する。
 <c:if test="${empty customerList}" >
     データがありません。
 </c:if>

!!複雑な分岐
JSTLのc:chooseを使用。
 <c:choose>
   <c:when test="${empty customerList}">
       データがありません
     </c:when>
     <c:otherwise>
        <c:forEach var="customerList" varStatus="s" items="${customerList}">
	   ${f:h(customerList.customerName)}<br>
        </c:forEach>
     </c:otherwise>
 </c:choose>

!!JSPで処理したい
http://www.javaroad.jp/bbs/answer.jsp?q_id=20080718161113777
とりあえず、
 pageContext.getAttribute("変数名");
で JSP で値を取得できる。
タグとかでできないことはJSPで処理してしまうのも手かな。
 <%
 XXX temp = (XXX) pageContext.getAttribute("temp");
 out.println(new java.util.Date(temp.date));
 %>

{{category2 プログラミング言語,Servlet & Struts}}