Javaに関する様々な情報をご紹介します。

13メッセージ・リソースファイル

Javaに関する様々な情報をご紹介します。

メッセージ・リソースファイル

ここでは、Strutsメッセージ・リソースファイルについて解説します。メッセージ・リソースファイルとは、Struts内で利用されるメッセージを管理するためのファイルです。通常のメッセージ、エラーメッセージ、Formのボタン名などを管理します。

実行環境
  • ・WindowsXP Home Edition
  • ・J2SDK 1.4.2_04
  • ・Tomcat 5.0.18
  • ・Struts 1.2.4

記載方法

  • キーとメッセージで管理するメッセージを記載します。キーとメッセージの間は「=」で区切ります。
  • メッセージが長い場合は「\」で改行した文字列を連結ることができます。
  • 可変の置き換え文字を{0}~{4}で指定できます。置き換え文字は<beam:message>タグのarg0からarg4属性で指定します。
  • メッセージ・リソースファイルの拡張子は「.properties」です。

【xxx.properties】メッセージ・リソースファイルの記載例です。

# キー「error.name」、メッセージ「name is not correct.」を指定
error.name=name is not correct.
error.pass=password is not correct.

# 可変の置き換え文字{0}を指定
message.confirm =Please confirm {0}.
# 改行した文章を\で連結
message.complete=Thank you! \
Registration Complete!

button.submit =SubmitA

struts-config.xmlの設定

  • メッセージ・リソースファイルはstruts-config.xmlの<message-resources>タグで指定します。
  • <message-resources>タグのparameter属性にメッセージ・リソースファイルの配置ディレクトリ、ファイル名を指定します。配置ディレクトリは\WEB-INF\classesディレクトリ以下から指定します。ファイル名に拡張子(properties)を指定する必要はありません。

【struts-config.xml】メッセージ・リソースファイルの指定例です。

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE struts-config PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
    "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>

<!--
  \WEB-INF\classes\resourcesディレクトリに配置した
  xxx.propertiesメッセージ・リソースファイルを指定しています。
-->
<message-resources parameter="resources.xxx"/>

</struts-config>

表示方法

  • メッセージ・リソースファイルで指定したメッセージは<bean:message>タグで表示します。
  • <bean:message>タグのkey属性に表示するメッセージのキーを指定します。可変の置き換え文字がある場合は、arg0からarg4属性に指定します。

【exResourceFile.jsp】<bean:message>タグの使用例です。

<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>

<html:html>
<head><title>メッセージ・リソースファイル</title></head>
<body>

<%-- key属性にerror.nameを指定し、key属性に該当するメッセージを表示しています。 --%>
<bean:message key="error.name"/><br>
<bean:message key="error.pass"/><br>
<br>
<%-- arg0属性に置き換え文字nameを指定しています。 --%>
<bean:message key="message.confirm" arg0="name"/><br>
<bean:message key="message.complete"/><br>
<br>
<%-- <html:submit>タグ内に<bean:message>タグを指定し、ボタン名にメッセージ・リソースのメッセージを適用しています。 --%>
<html:submit property="exeMethod">
    <bean:message key="button.submit"/>
</html:submit>

</body>
</html:html>

実行結果

これまで解説したメッセージ・リソースファイル(xxx.properties)、struts-config.xml、JSPプログラム(exResourceFile.jsp)の実行結果です。

Struts実行結果

13メッセージ・リソースファイル