読者です 読者をやめる 読者になる 読者になる

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

ITエンジニア徒然 (AWS/Java/JavaScript/Google Spreadsheets/Jenkins/Mac/外部コミュニティ・勉強会レポ)

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ってなんだが冗長だイケテナイワーと思ったけど、
一応これで出来ました。