Uploaded image for project: 'S2JSF'
  1. S2JSF
  2. JSF-22

[Seasar-user:4441] [S2JSF] WebSphere上で、 PropertyNotFoundRuntimeException

XMLWordPrintable

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major Major
    • 1.0.17, 1.1.0-beta-4
    • Affects Version/s: None
    • None

      Tomcat で開発中のシステムを、本番稼働に備えてWebSphere6.0 で動作させると、
      こんな例外が出て困っています。

      例外(先頭部分のみ - 例外の全文は添付します)
      ------------------------------------------------------------------------------
      [06/08/29 16:22:59:175 JST] 00000033 ValueBindingI E Cannot get value for expression '#

      {e.empno}'
      [06/08/29 16:22:59:253 JST] 00000033 ValueBindingI E TRAS0014I: 次の例外がログに記録されました。 org.seasar.framework.beans.PropertyNotFoundRuntimeException: [ESSR0065]クラス(java.lang.String)のプロパティ(empno)が見つかりません
      at org.seasar.framework.beans.impl.BeanDescImpl.getPropertyDesc(BeanDescImpl.java:102)
      at org.seasar.jsf.el.S2PropertyResolver.getProperty(S2PropertyResolver.java:202)
      at org.seasar.jsf.el.S2PropertyResolver.getValue(S2PropertyResolver.java:56)
      at org.apache.myfaces.el.ELParserHelper$MyPropertySuffix.evaluate(ELParserHelper.java:555)
      at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
      at org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:441)
      at javax.faces.component.UIParameter.getValue(UIParameter.java:129)
      at org.seasar.jsf.util.UIParameterUtil.saveParamsToRequest(UIParameterUtil.java:40)
      at org.seasar.jsf.application.ActionListenerImpl.processAction(ActionListenerImpl.java:58)
      ------------------------------------------------------------------------------

      これは、s2jsf-examples を、WebSphere6.0(正確には、Rational Software Development上
      のテストサーバ)に持っていって、
      Employee Management → [search]ボタン → 結果一覧の適当な行のEdit、Delete、Inquire
      をクリックすると発生する例外です。

      開発中のシステムでは、
      s2-framework-2.3.11.jar
      s2-extension-2.3.11.jar
      s2-jsf-1.0.16.jar
      ですが、同じような現象が発生します。
      全ての画面で発生するわけではなく、特定の画面のみです。どのような画面で
      発生するのかはよくわかりませんが、ページ遷移をともなう画面にのみ発生している
      ような気がします(確実ではありません)。
      s2jsf-examples の、他の画面ではこの例外は発生していません。
      ただ、Validator で、存在しない日付を入力して[submit] を押すと、
      -----------------------------------------------------------------------------
      [06/08/29 16:40:51:653 JST] 00000036 ServletWrappe E SRVE0068E: サーブレット Faces Servlet で service() メソッドを呼び出せませんでした。 スローされた例外: java.lang.NullPointerException
      at javax.faces.convert.ConverterException.<init>(ConverterException.java:105)
      at org.seasar.jsf.convert.S2DateTimeConverter.getAsObject(S2DateTimeConverter.java:82)
      at org.apache.myfaces.renderkit.RendererUtils.getConvertedUIOutputValue(RendererUtils.java:780)
      -----------------------------------------------------------------------------
      となります。上の例外とは関係ないとは思いますが。

      開発中のシステムで発生しているのは、
      「メンテナンス画面」→「確認画面」→「完了画面」
      と遷移するメンテナンス系の画面で、最初の1回は正常に完了画面まで
      遷移しますが、続けて別のデータをメンテナンスしようとすると、同じような
      例外になります。

      例外の中の、
      -----------------------------------------------------------------------------
      クラス(java.lang.String)のプロパティ(empno)が見つかりません
      -----------------------------------------------------------------------------
      という部分から見ると、
      -----------------------------------------------------------------------------
      m:value="#{e.empno}

      "
      -----------------------------------------------------------------------------
      の、e をString として判断してしまっているようです。

            Assignee:
            shot shot
            Reporter:
            shot shot
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: