いつもお世話になっております。Java,Struts初心者です。
現在勉強中のStruts1の件でお聞きしたいことがございます。
現在bean:message やバリデータチェック時での日本語エラーメッセージの表示がうまくできず困っております。お力を貸していただけないでしょうか。
<エラー発生内容>
1:struts.config.xml の
<message-resources parameter = "ApplicationResorce"/>
に作成したApplicationResourceを設定して、サーバー上で動かしたところ
文字化けが発生しApplicationResouceが見つかりませんというメッセージが実行時に表示されました。
以下 設定時のソースコードです。
struts.config.xml
1<?xml version="1.0" encoding="Shift_JIS" ?> 2<!DOCTYPE struts-config PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" 4 "http://struts.apache.org/dtds/struts-config_1_3.dtd"> 5<struts-config> 6 <!-- ========================= Form Bean Definitions --> 7 <form-beans> 8 <form-bean name="HelloForm" type="hello.form.HelloForm" /> 9 </form-beans> 10 <!-- ========================= Global Exception Definitions --> 11 <global-exceptions> 12 13 </global-exceptions> 14 <!-- ========================= Global Forward Definitions --> 15 <global-forwards> 16 </global-forwards> 17 <!-- ========================= Action Mapping Definitions --> 18 <action-mappings> 19 <action 20 attribute ="HelloForm" 21 input ="/jsp/who.jsp" 22 name ="HelloForm" 23 path ="/hello" 24 type ="hello.HelloAction" 25 scope ="session" 26 validate ="true"> 27 <forward name="success" path="/jsp/user.jsp" /> 28 </action> 29 </action-mappings> 30 <!-- ========================== Message Resources Definitions --> 31 <message-resources parameter=""></message-resources> 32 <!-- ========================== Plug Ins Configuration --> 33 <!-- ========================== Tiles plugin --> 34 <!-- ========================== Validator plugin --> 35</struts-config>
2:native2asciiコマンドを利用し
native2ascii ApplicationResorce_ja.properties ApplicationResource.properties
を実行したところ
java.lang.Excptionが発生して
『ApplicationResource_ja.propertiesを読み込めませんでした』
のエラーがでてしまいます。
2点お聞きしたいのですが、
1.メッセージリソース設定時にstruts.config.xml以外になにか設定値を書くことはございますでしょうか。(しらべた際にはどのサイトにもなかったと思います。)
2.メッセージリソースの日本語化をする際に注意しなければならないことなどはございますでしょうか。
大変お手数ですがご教示いただければ幸いです。
よろしくお願いいたします。
環境
struts1.3.10
Tomcat6.0
java 6
遅くなりまして申し訳ございません
以下設定ファイルになります。
struts
1コード 2<?xml version="1.0" encoding="Shift_JIS" ?> 3<!DOCTYPE struts-config PUBLIC 4 "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" 5 "http://struts.apache.org/dtds/struts-config_1_3.dtd"> 6<struts-config> 7 <!-- ========================= Form Bean Definitions --> 8 <form-beans> 9 <form-bean name="HelloForm" type="hello.form.HelloForm" /> 10 </form-beans> 11 <!-- ========================= Global Exception Definitions --> 12 <global-exceptions> 13 14 </global-exceptions> 15 <!-- ========================= Global Forward Definitions --> 16 <global-forwards> 17 </global-forwards> 18 <!-- ========================= Action Mapping Definitions --> 19 <action-mappings> 20 <!-- 入力画面 --> 21 <action 22 attribute ="HelloForm" 23 input ="/jsp/who.jsp" 24 name ="HelloForm" 25 path ="/InputConfirmAction" 26 type ="hello.InputConfirmAction" 27 scope ="session" 28 validate ="true"> 29 <forward name="success" path="/jsp/user.jsp"/> 30 <forward name="errors" path="/jsp/who.jsp"/> 31 </action> 32 <!-- 確認画面 --> 33 <action 34 input ="/jsp/user.jsp" 35 name ="HelloForm" 36 path ="/helloAction" 37 type ="hello.HelloAction" 38 scope ="session" 39 validate ="false"> 40 <forward name="success" path="/jsp/Thanks.jsp"/> 41 </action> 42 </action-mappings> 43 <!-- ========================== Message Resources Definitions --> 44 <message-resources parameter="/WEB=INF/ApplicationResouce_ja"></message-resources> 45 <!-- ========================== Plug Ins Configuration --> 46 <!-- ========================== Tiles plugin --> 47 <!-- ========================== Validator plugin --> 48 <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> 49 <set-property 50 property="pathnames" 51 value="/org/apache/struts/validator/validator-rules.xml, 52 /WEB-INF/validation.xml"/> 53 </plug-in> 54</struts-config> 55
type 例外レポート メッセージ An exception occurred processing JSP page /jsp/who.jsp at line 8 説明 The server encountered an internal error that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/who.jsp at line 8 5: prefix="bean" %> 6: <html:html> 7: <head> 8: <title><bean:message key="survey"/></title> 9: </head> 10: <body> 11: <h1><bean:message key="PleaseSurvey"/></h1> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:525) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:723) filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122) 原因 javax.servlet.ServletException: javax.servlet.jsp.JspException: キー "survey" に対応するメッセージが見つかりません org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:868) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:797) org.apache.jsp.jsp.who_jsp._jspService(who_jsp.java:99) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:723) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:723) filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122) 原因 javax.servlet.jsp.JspException: キー "survey" に対応するメッセージが見つかりません org.apache.struts.taglib.bean.MessageTag.doStartTag(MessageTag.java:233) org.apache.jsp.jsp.who_jsp._jspx_meth_bean_005fmessage_005f0(who_jsp.java:170) org.apache.jsp.jsp.who_jsp._jspx_meth_html_005fhtml_005f0(who_jsp.java:123) org.apache.jsp.jsp.who_jsp._jspService(who_jsp.java:90) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:723) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:723) filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)
やはり起動時にメッセージリソースファイルを読み込めず、file.setCharaterEncordingFilterでおちてしまいます。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー