[Seasar-user:7675] Re: [S2Struts] submit の value に日本語が使えない

Katsuhiko Nagashima [E-MAIL ADDRESS DELETED]
2007年 5月 17日 (木) 19:30:20 JST


永島です。

私の環境(S2StrutsExampleのemployeeSearch.mayaaを利用)では、
<s2struts:submit m:id="onFoo" action="#{fooAction.doFoo}">
   日本語
</s2struts:submit>
とした場合でも正常に動作し、現象を再現できませんでした。

確認&教えていただきたい点があります。
・この現象は携帯だと発生するけど、PCのブラウザからだと発生しないのように
 Clientにより動作が異なったりしますか?
・S2StrutsExampleで日本語を利用した場合も
 この現象が発生するか確認していただけないでしょうか?
・HTMLを表示した際のencodingとencodingfilterのencodingが
 一致しているか確認していただけないでしょうか。

よろしくお願いします。


07/05/17 に Kazushi Tominaga<[E-MAIL ADDRESS DELETED]> さんは書きました:
> 冨永と申します。
>
> 現在、下記の環境で携帯電話用のページを作成しております。
> Tomcat 5.5
> Struts 1.3.5
> S2Struts 1.3.0b3
> mayaa 1.1.6
>
> s2struts:submitを
>
> <s2struts:submit m:id="onFoo" action="{fooAction.doFoo}">
>   日本語
> </s2struts:submit>
>
> のように記述すると、ボタン押下時に下記のようにエラーが発生してしまいます。
>
> org.seasar.struts.pojo.exception.NotCalledActionRuntimeException: Action
> can not be called.
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:117)
>         at
> org.seasar.struts.pojo.commands.DispatchCommand.execute(DispatchCommand.java:41)
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:115)
>         at
> org.seasar.struts.pojo.commands.SingleMethodCommand.execute(SingleMethodCommand.java:41)
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:115)
>         at
> org.seasar.struts.pojo.commands.PropertyBindingCommand.execute(PropertyBindingCommand.java:40)
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:115)
>         at
> org.seasar.struts.pojo.PojoProcessAction.execute(PojoProcessAction.java:65)
>         at
> org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
>         at
> org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
>         at
> org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
>         at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>         at
> org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
>         at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>         at
> org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
>         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
>         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:62)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:42)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.struts.hotdeploy.filter.S2StrutsHotdeployFilter.doFilter(S2StrutsHotdeployFilter.java:48)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:63)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Unknown Source)
> 2007-05-17 10:08:43,986 [http-8080-Processor25] WARN
> org.apache.struts.chain.commands.ExceptionCatcher - Exception from
> exceptionCommand 'servlet-exception'
> org.seasar.struts.pojo.exception.NotCalledActionRuntimeException: Action
> can not be called.
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:117)
>         at
> org.seasar.struts.pojo.commands.DispatchCommand.execute(DispatchCommand.java:41)
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:115)
>         at
> org.seasar.struts.pojo.commands.SingleMethodCommand.execute(SingleMethodCommand.java:41)
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:115)
>         at
> org.seasar.struts.pojo.commands.PropertyBindingCommand.execute(PropertyBindingCommand.java:40)
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:115)
>         at
> org.seasar.struts.pojo.PojoProcessAction.execute(PojoProcessAction.java:65)
>         at
> org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
>         at
> org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
>         at
> org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
>         at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>         at
> org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
>         at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>         at
> org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
>         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
>         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:62)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:42)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.struts.hotdeploy.filter.S2StrutsHotdeployFilter.doFilter(S2StrutsHotdeployFilter.java:48)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:63)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Unknown Source)
> 2007-05-17 10:08:44,002 [http-8080-Processor25] ERROR
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/biz].[action]
> - サーブレット action のServlet.service()が例外を投げました
> org.seasar.struts.pojo.exception.NotCalledActionRuntimeException: Action
> can not be called.
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:117)
>         at
> org.seasar.struts.pojo.commands.DispatchCommand.execute(DispatchCommand.java:41)
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:115)
>         at
> org.seasar.struts.pojo.commands.SingleMethodCommand.execute(SingleMethodCommand.java:41)
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:115)
>         at
> org.seasar.struts.pojo.commands.PropertyBindingCommand.execute(PropertyBindingCommand.java:40)
>         at
> org.seasar.struts.pojo.impl.PojoInvocationImpl.execute(PojoInvocationImpl.java:115)
>         at
> org.seasar.struts.pojo.PojoProcessAction.execute(PojoProcessAction.java:65)
>         at
> org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
>         at
> org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
>         at
> org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
>         at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>         at
> org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
>         at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>         at
> org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
>         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
>         at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:62)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:42)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.struts.hotdeploy.filter.S2StrutsHotdeployFilter.doFilter(S2StrutsHotdeployFilter.java:48)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:63)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
>         at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
>         at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
>         at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>         at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Unknown Source)
>
> エンコードの指定やencodingfilterの設定など一通りの対処は実施しましたが、
> いまだに解決できません。
> 助言を頂きたく思います。 どうかよろしくお願いいたします。
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>


-- 
Katsuhiko Nagashima



Seasar-user メーリングリストの案内