[Seasar-user:14246] [Teeda]数値入力で「.(ドット)」を複数入力しsubmitするとException

とら [E-MAIL ADDRESS DELETED]
2008年 5月 17日 (土) 13:43:21 JST


たむらです。

数値の入力項目に「.(ドット)」を2個以上入力しsubmitしたところ、例外が
発生し画面が途中までしか出力されません。
(エラー項目辺りまでしかhtmlが出力されない。)

teeda-html-example の addExt.html においても現象が確認できました。
その時のスタックトレースは下記の通りです。
入力値「..」

また、javascriptもエラーとなってしまいます。

レアなケースだと思いますが、htmlが途中までしか出力されないなど、ちょっ
とあまり宜しくないので、対応したいと考えているのですが、どのようにしたら
良いでしょうか?

○スタックトレース
2008-05-17 13:08:25,414 [http-8080-Processor24] ERROR
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/teeda-html-example].[facesServlet]
- サーブレット facesServlet のServlet.service()が例外を投げました
java.lang.IllegalArgumentException: Cannot format given Object as a Number
	at java.text.DecimalFormat.format(DecimalFormat.java:480)
	at java.text.Format.format(Format.java:133)
	at org.seasar.teeda.extension.render.html.THtmlInputCommaTextRenderer.getValue(THtmlInputCommaTextRenderer.java:108)
	at org.seasar.teeda.extension.render.html.AbstractInputExtendTextRenderer.doEncodeEndStart(AbstractInputExtendTextRenderer.java:89)
	at org.seasar.teeda.extension.render.html.AbstractInputExtendTextRenderer.encodeInputExtendTextEnd(AbstractInputExtendTextRenderer.java:74)
	at org.seasar.teeda.extension.render.html.AbstractInputExtendTextRenderer.encodeEnd(AbstractInputExtendTextRenderer.java:51)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:348)
	at javax.faces.render.Renderer.encodeChildren0(Renderer.java:61)
	at javax.faces.render.Renderer.encodeChildren0(Renderer.java:59)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:48)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:339)
	at org.seasar.teeda.core.util.RendererUtil.renderChild(RendererUtil.java:326)
	at org.seasar.teeda.core.util.RendererUtil.renderChildren(RendererUtil.java:340)
	at org.seasar.teeda.core.util.RendererUtil.renderChild(RendererUtil.java:328)
	at org.seasar.teeda.core.util.RendererUtil.renderChildren(RendererUtil.java:340)
	at org.seasar.teeda.extension.render.TViewRootRenderer.encodeBegin(TViewRootRenderer.java:65)
	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:330)
	at javax.faces.component.UIViewRoot.encodeBegin(UIViewRoot.java:100)
	at javax.faces.webapp.UIComponentTag.encodeBegin(UIComponentTag.java:247)
	at javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:184)
	at org.seasar.teeda.extension.taglib.TViewTag.doStartTag(TViewTag.java:98)
	at org.seasar.teeda.extension.html.processor.ElementProcessorImpl.processTag(ElementProcessorImpl.java:145)
	at org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:138)
	at org.seasar.teeda.extension.html.processor.ElementProcessorImpl.process(ElementProcessorImpl.java:119)
	at org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:157)
	at org.seasar.teeda.extension.html.impl.HtmlViewHandler.renderView(HtmlViewHandler.java:143)
	at org.seasar.teeda.core.lifecycle.impl.RenderResponsePhase.executePhase(RenderResponsePhase.java:39)
	at org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
	at org.seasar.teeda.core.lifecycle.LifecycleImpl.render(LifecycleImpl.java:131)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:101)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.seasar.teeda.core.filter.RequestDumpFilter.doFilter(RequestDumpFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.seasar.teeda.extension.filter.MultipartFormDataFilter.doFilter(MultipartFormDataFilter.java:83)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)
2008/05/17 13:08:25 org.apache.catalina.core.StandardHostValve custom
致命的: Exception Processing ErrorPage[exceptionType=java.lang.Throwable,
location=/debug/debug.jsp]
java.lang.IllegalStateException
	at org.apache.coyote.Response.reset(Response.java:297)
	at org.apache.catalina.connector.Response.reset(Response.java:653)
	at org.apache.catalina.connector.Response.reset(Response.java:920)
	at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:357)
	at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:213)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
	at java.lang.Thread.run(Thread.java:595)

○環境
Seasar2 2.4.24
Teeda 1.0.13-sp1
S2Dao 1.0.47
DBFlute 0.7.0

-- 
TAMURA Tadayuki mailto:[E-MAIL ADDRESS DELETED]


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