[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 メーリングリストの案内