本記事は、Struts2でJSPを書く際に頻出するタグの基本を網羅する
📘「Vol.8.0〜8.7:Struts2 タグライブラリ入門編(基本操作・最低限の知識)」 シリーズの一部です。
🔰 はじめに
本記事は、📘 Vol.8.1:【Struts2】タグライブラリの全体像と種類を把握する 〜JSP開発で使えるタグ一覧と役割まとめ〜」 で紹介した内容をもとに、JSPで実際に使えるテンプレート集としてまとめたものです。
「現場でそのままコピペして使える」ことをコンセプトに、実例形式で紹介していきます!
📑 テンプレート一覧
✅ 1. <s:form>
& <s:submit>
:基本的なフォーム
<s:form action="InsertUser" method="post">
<s:textfield name="user.user_name" label="ユーザー名" />
<s:password name="user.password" label="パスワード" />
<s:submit value="登録" />
</s:form>
✅ 2. :値の受け渡しに
<s:form action="InsertThread" method="post">
<s:hidden name="bulletinboard_id" value="%{bulletinboard_id}" />
<s:textfield name="thread.thread_title" label="スレッドタイトル" />
<s:submit value="作成" />
</s:form>
✅ 3. :セッションなどの値を表示
<p>こんにちは、<s:property value="#session.loggedInUser.user_name" /> さん</p>
✅ 4. <s:url>
+ <s:param>
:アクションURLの生成
<s:url var="createThreadUrl" action="MoveCreateThread">
<s:param name="bulletinboard_id" value="%{bulletinboard_id}" />
</s:url>
<a href="<s:property value="#createThreadUrl" />">スレッド作成</a>
✅ 5. :リストの繰り返し表示
<s:iterator value="threadList">
<div>
<p>タイトル:<s:property value="thread_title" /></p>
<p>ID:<s:property value="thread_id" /></p>
</div>
</s:iterator>
✅ 6. :アクション呼び出し & 結果取得
<s:action name="getBulletinboards" var="bulletinboardsAction" />
<s:iterator value="#bulletinboardsAction.bulletinboardList">
<p><s:property value="bulletinboard_title" /></p>
</s:iterator>
✅ 7. 編集・削除リンクを生成するパターン
<!-- 編集 -->
<s:url var="editUrl" action="EditUser">
<s:param name="id" value="%{user_id}" />
</s:url>
<s:a href="%{editUrl}">編集</s:a>
<!-- 削除 -->
<s:url var="deleteUrl" action="DeleteUser">
<s:param name="id" value="%{user_id}" />
</s:url>
<s:a href="%{deleteUrl}">削除</s:a>
✅ 8. HTMLと併用:静的リンク(戻るボタン)
<p>
<a href="<%=request.getContextPath()%>/goToManagementMenu.action">管理メニューに戻る</a>
</p>
💬 おわりに
いかがでしたか?Struts2の <s:タグ>
は、単に値を表示するだけでなく、動的なフォーム作成・アクション遷移・セッション操作まで多岐にわたる活用が可能です。
📚 関連記事(Vol.8シリーズ)
-
📘 Vol.8.1:【Struts2】タグライブラリの全体像と種類を把握する 〜JSP開発で使えるタグ一覧と役割まとめ〜
-
📘 Vol.8.4:【Struts2】「s:action」「s:token」タグ徹底解説!〜アクション呼び出しと二重送信防止の最前線〜
-
📘 Vol.8.5:【Struts2】条件分岐タグ(s:if / s:else)徹底解説! 〜表示制御と実務応用の決定版〜