HTMLタグに対応したタグリブ郡。
このタブリグを使うとHTMLとStrutsの架け橋になってくれる。
<%@ taglib uri="http://struts.apache.org/tags-html"prefix="html" %>
html
html:html
HTMLコントロールを生成するHTMLカスタムタグはすべてHTMLタグ内にネストする必要がある。(らしいんだけど、tilesを使ってLayout.jspをつくり、そこにhtml:htmlタグを書かなくても動いた)
html:form
action要素でActionとの連結を行う。
<html:form action="/ThirdPartyModAction">
生成されたJSPは以下のようになる
<form action="/ContextPath/ActionName.do">
html:link
リンクにActionPathを適用したい
<html:link action="ActionPathを指定">
でできる。
buttonタグを使ってリンクっぽくするのもあり。
遷移だけするActionクラスを作ってtypeに指定すればリンクっぽい遷移が可能では?Formも同じくダミーでいいみたい
URLにパラメタをつける
ActionPathの最後にHTTPパラメタを付与する。
<html:link action="TestAction" paramId="id" paramName="TestForm" paramProperty="userID" target="画面名">表示</html:link>
- action
- Actionクラス
- paramId
- HTTPパラメタの名前
- paramName
- FormなどBean
- paramProperty
- Formなどのゲッター名
- target
- target属性の値
//結果
<a href="/ContextPath/TestAction.do?id=0001" target="画面名">表示</a>
html:option
都道府県ドロップダウンのサンプル。
<html:select property="prefecture">
<html:option value="">選択してください</html:option>
<html:option value="北海道">北海道</html:option>
<html:option value="青森県">青森県</html:option>
<html:option value="岩手県">岩手県</html:option>
<html:option value="宮城県">宮城県</html:option>
<html:option value="秋田県">秋田県</html:option>
<html:option value="山形県">山形県</html:option>
<html:option value="福島県">福島県</html:option>
<html:option value="茨城県">茨城県</html:option>
<html:option value="栃木県">栃木県</html:option>
<html:option value="群馬県">群馬県</html:option>
<html:option value="埼玉県">埼玉県</html:option>
<html:option value="千葉県">千葉県</html:option>
<html:option value="東京都">東京都</html:option>
<html:option value="神奈川県">神奈川県</html:option>
<html:option value="新潟県">新潟県</html:option>
<html:option value="富山県">富山県</html:option>
<html:option value="石川県">石川県</html:option>
<html:option value="福井県">福井県</html:option>
<html:option value="山梨県">山梨県</html:option>
<html:option value="長野県">長野県</html:option>
<html:option value="岐阜県">岐阜県</html:option>
<html:option value="静岡県">静岡県</html:option>
<html:option value="愛知県">愛知県</html:option>
<html:option value="三重県">三重県</html:option>
<html:option value="滋賀県">滋賀県</html:option>
<html:option value="京都府">京都府</html:option>
<html:option value="大阪府">大阪府</html:option>
<html:option value="兵庫県">兵庫県</html:option>
<html:option value="奈良県">奈良県</html:option>
<html:option value="和歌山県">和歌山県</html:option>
<html:option value="鳥取県">鳥取県</html:option>
<html:option value="島根県">島根県</html:option>
<html:option value="岡山県">岡山県</html:option>
<html:option value="広島県">広島県</html:option>
<html:option value="山口県">山口県</html:option>
<html:option value="徳島県">徳島県</html:option>
<html:option value="香川県">香川県</html:option>
<html:option value="愛媛県">愛媛県</html:option>
<html:option value="高知県">高知県</html:option>
<html:option value="福岡県">福岡県</html:option>
<html:option value="佐賀県">佐賀県</html:option>
<html:option value="長崎県">長崎県</html:option>
<html:option value="熊本県">熊本県</html:option>
<html:option value="大分県">大分県</html:option>
<html:option value="宮崎県">宮崎県</html:option>
<html:option value="鹿児島県">鹿児島県</html:option>
<html:option value="沖縄県">沖縄県</html:option>
</html:select>
html:messages
Formに設定されたメッセージを表示。message属性をtrueにすると通常メッセージ(エラーメッセージ以外)が表示される。falseだとエラーメッセージ。
<!-- 成功メッセージ表示 -->
<logic:messagesPresent message="true">
<html:messages id="msg" message="true" header="success.header" footer="success.footer">
<li><bean:write name="msg" ignore="true"/></li>
</html:messages>
</logic:messagesPresent>
<!-- エラーメッセージ -->
<logic:messagesPresent message="false">
<html:messages id="msg" message="false" header="errors.header" footer="errors.footer">
<li><bean:write name="msg" ignore="true"/></li>
</html:messages>
</logic:messagesPresent>
html:javascript
クライアントサイドのエラーチェック用にJavascriptを書き出すためのタグ。
<html:javascript formName="TestForm"/>
html:errors
このタグを使うとXSS対策になりません。できればhtml:messagesタグをつかったほうがいいです。
ActionMessagesクラスやActionErrorsクラスにaddしたメッセージを画面に表示する。
JSPには以下のように記述する。
<html:errors />
このタグでは、PrefixやSuffixをつけることも可能。以下のような文字をStrutsで使っているプロパティーファイルに書けばよい。
errors.header=<ul>
errors.fotter=</ul>
errors.prefix=<li>
errors.sufix=</li>