[Seasar-user:5142] [teeda] ポップアップで java.lang.IllegalStateException
松山 大樹
[E-MAIL ADDRESS DELETED]
2006年 11月 16日 (木) 11:21:20 JST
松山です。
S2.4.2 + S2JSF1.1.0 + Teeda1.0.1 の組み合わせのWebアプリケーションで、
JavaScript によって、別画面をポップアップする画面がありますが、このとき
java.lang.IllegalStateException が発生します。
----------------------------------------------------------------------
ERROR 2006-11-16 11:06:53,192 サーブレット Faces Servlet のServlet.service()が例外を投げました
java.lang.IllegalStateException
at org.seasar.teeda.core.el.impl.commons.ObjectReplacer.replace(ObjectReplacer.java:36)
at org.seasar.teeda.core.el.impl.commons.CommonsExpressionProcessorImpl.processExpression(CommonsExpressionProcessorImpl.java:83)
at org.seasar.teeda.core.el.impl.commons.CommonsELParser.parse(CommonsELParser.java:43)
at org.seasar.teeda.core.el.impl.ValueBindingImpl.<init>(ValueBindingImpl.java:62)
at org.seasar.teeda.core.el.impl.ValueBindingFactoryImpl.createValueBinding(ValueBindingFactoryImpl.java:65)
at org.seasar.teeda.core.application.ApplicationImpl.createValueBinding(ApplicationImpl.java:514)
at org.seasar.teeda.core.util.BindingUtil.setValueBinding(BindingUtil.java:113)
at org.seasar.teeda.core.taglib.UIComponentTagPropertyUtil.setComponentProperty(UIComponentTagPropertyUtil.java:21)
at org.seasar.teeda.core.taglib.UIComponentTagBase.setComponentProperty(UIComponentTagBase.java:894)
at org.seasar.teeda.core.taglib.UIComponentTagBase.setProperties(UIComponentTagBase.java:787)
at org.seasar.teeda.core.taglib.html.OutputLinkTag.setProperties(OutputLinkTag.java:38)
at javax.faces.webapp.UIComponentTag.createComponent(UIComponentTag.java:376)
----------------------------------------------------------------------
一度、これが発生すると、何をやっても同じ例外が出るようになってしまいます。
2回目以降は、
ERROR 2006-11-16 11:12:30,311 サーブレット Faces Servlet のServlet.service()が例外を投げました
java.lang.IllegalStateException: already released
at org.seasar.teeda.core.context.servlet.ServletFacesContextImpl.assertNotReleased(ServletFacesContextImpl.java:225)
と出ます。
どのポップアップ画面でも出る、というわけではなさそうです。
今のところ、発生しているのは、
・呼ばれるhtml が、
<html xmlns:m="http://www.seasar.org/maya" m:action="#{hogeAction.init}" >
のように、ページの初期化処理を行っている。
・呼び出し側で、URLパラメータを指定している。
window.open('hoge.html?userNo=12345','testWindow');
の2つの条件を満たしたときになるようです。
Tomcat5.5.17 です。
何かチェックすべき点や、回避方法があれば、教えてください。
よろしくお願いします。
--
::: 株式会社WOWOWコミュニケーションズ http://www.wowcom.co.jp/
::: ITシステム・インテグレートDiv.
::: Web・ソリューション&システム開発Unit.
::: 松山 大樹 - [E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内