メンチカツには醤油でしょ!!

AWS/Java/Node.js/Spreadsheets/Docker/Jenkins/コミュニティ・勉強会レポを主とした技術系ブログ

Struts2でs:submitのvalue指定にてリソースファイルの内容から表示文字列を取得

バージョン

Tomcat 8.x
Struts 2.3.24.1

元々は

<s:submit cssClass="btn btn-info" value="ログイン" />
って書けば
<input type="submit" id="login_0" value="ログイン" class="btn btn-info"/>
ってなるんですが、普通はJSPに直書きしないでpropertiesから読みますよね。

なので

JSP
<s:submit cssClass="btn btn-info" value="【ここをbutton.login】" />
でリソースのpropertiesで
button.login=ログイン
と指定したいですよね。

しかしながら

でもvalueのレンダリングが無視されたり
<input type="submit" id="login_0" class="btn btn-info" />
となったりでうまくいかず。

しかも

<s:submit cssClass="btn btn-info">
    <s:text name="button.login" />
</s:submit>

こう書いても…
<input type="submit" id="login_0" value="Submit" class="btn btn-info"/>ログイン

はみ出るなよw
開始タグ~終了タグで囲ってくれない。
(まぁinput type="submit"だからしゃなーない)

本当はこうしたい

<button type="submit" id="login_0" class="btn btn-info">ログイン</button>

でも結局

<s:submit cssClass="btn btn-info" value="%{getText('button.login')}" />

こう書くことに。
OGNL式の中でgetTextってなんだが冗長だイケテナイワーと思ったけど、
一応これで出来ました。