0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

📗 Vol.8.11:タグの出力をスタイリッシュに!〜 UIの統一&見た目の最適化Tips 〜

Last updated at Posted at 2025-05-22

🔗 本章は「Vol.8.9〜:Struts2 タグライブラリ応用編(実務/初級応用)」シリーズです。


🎯 本記事の目的

Struts2 の <s:form><s:textfield> などのタグは便利ですが、出力されるHTMLが地味/クセがあるため、CSSフレームワーク(特にBootstrap)と連携させたい時に苦戦しがちです。

本記事では、以下の悩みを解決します:

  • Struts2のフォームをBootstrap風に美しく整える
  • タグの出力構造を理解し、CSSを自在に適用する
  • エラーメッセージの表示をスタイリッシュにする

1. Struts2 タグの出力HTML構造を理解する

✅ 例:<s:textfield> の出力

<s:form action="login">
  <s:textfield name="username" label="ユーザー名"/>
</s:form>

出力されるHTML(簡略化):

<form action="login.action" method="post">
  <label for="username">ユーザー名</label>
  <input type="text" name="username" id="username" value="" />
</form>
  • label属性 → 要素に変換

  • name属性 → 要素の name/id に反映


2. 出力HTMLをCSSフレームワークで装飾する

✅ Bootstrap のクラスを適用するには?

<s:textfield name="username" label="ユーザー名" cssClass="form-control"/>

→ 出力HTML:

<input type="text" class="form-control" name="username" id="username" />

<s:form>にクラス追加

<s:form action="login" cssClass="form-horizontal">

3. エラーメッセージを見た目よく表示する

<s:fielderror> の出力

<s:fielderror/>

エラー時の出力例:

<ul class="errorMessage">
  <li>ユーザー名は必須です。</li>
</ul>

✅ Bootstrap風に調整するには?

.errorMessage {
  color: #dc3545;
  font-size: 0.9em;
  list-style: none;
  padding-left: 0;
}

→ text-dangerクラスに統一してもOK:

<ul class="text-danger">
  <li>エラー内容</li>
</ul>

4. 実務Tips:よくあるUI調整パターン

✅ 入力項目を横並びにしたい!

<div class="row mb-3">
  <label class="col-sm-3 col-form-label">ユーザー名</label>
  <div class="col-sm-9">
    <s:textfield name="username" cssClass="form-control"/>
  </div>
</div>

✅ 必須入力の「※」をラベルに追加

<s:textfield name="username" label="ユーザー名 ※" required="true" cssClass="form-control"/>

✅ 成功メッセージ・警告メッセージの表示

<div class="alert alert-success">登録が完了しました!</div>
<div class="alert alert-warning">入力内容を確認してください。</div>

5. まとめ&次回予告

  • Struts2のタグ出力構造を把握することで、CSS適用がスムーズに!

  • Bootstrap等との連携には cssClass 属性が鍵!


📘 次回予告:Vol.8.12 共通レイアウトと include の活用法

共通のヘッダー・フッター・メッセージ領域を includeで部品化し、
「見た目・構造の統一感」を手に入れましょう!


🔖 関連記事リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?