2011-10-27 6 views
6

最近WebSphere Portal v6.1からv7.0にアップグレードしました。その過程で、JSF 1.2が利用可能になりました。作成ラッド8の新しいポートレット・プロジェクトには、次のエントリAPI変数リゾルバは、JSF 1.1の後に非推奨になりました。代わりにel-resolverを使用

<application> 
    <state-manager>com.ibm.faces.application.DevelopmentStateManager</state-manager> 
    <variable-resolver>com.ibm.faces.portlet.PortletVariableResolver</variable-resolver> 
</application> 

でのfaces-config.xmlが作成し、文句を言います。Type API変数-リゾルバは、JSF 1.1の後に廃止されました。代わりにel-resolverを使用してください。

残念ながら、私はel-resolverを使用するIBMページで回答を見つけることができませんでした。

編集:

System.out.println("Resolver: " + PortalUtil.getFacesContext().getApplication().getELResolver()); 

=>リゾルバ:[email protected]

追加または除去することなく顔-設定

<el-resolver>com.sun.faces.el.FacesCompositeELResolver</el-resolver> 

のエントリ可変リゾルバは、次のものにつながります。

java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory 
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:270) 
    at javax.faces.webapp.FacesServlet.init(FacesServlet.java:164) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:358) 
    ... 89 more 

PMR with IBM opened ...

+0

これは役に立たないのですか? http://download.oracle.com/docs/cd/E17802_01/products/products/jsp/2.1/docs/jsp-2_1-pfd2/javax/el/ELResolver.html – Brad

+0

RADからの警告メッセージ:クラスjavax.el。 ELResolverは、抽象ではなく、具体的でなければなりません。 – Stefan

+0

Springを使用し、org.springframework.web.jsf.DelegatingVariableResolverがあります。それはうまく動作します。おそらくこのリゾルバの依存関係を追加しようとしますか? のように置く org.springframework.web.jsf.DelegatingVariableResolver JMelnik

答えて

1

IBMの応答:

Q - 何が警告を無視しての結果であるかもしれませんか?

Ans - ユーザーは変数リゾルバを引き続き使用できますが、機能には影響しません。 [このタグは下位互換性のために維持されます]

Q - 生成されたfaces-config.xmlは引き続き非推奨の方法を使用しますか?

答 - 私たちも、JSF 1.2

Qでうまく動作しますポートレット変数を、解決するための変数リゾルバを使用している - があることやポートレットのエル・リゾルバはありますか?

Ans - ポートレット用のel-resolverがあります。 JSFポートレット・ブリッジ2.0で提供され、WASのアップデートとして出荷されます。現在計画段階ですので、正確なバージョンを教えてもらえません。

0

私は非同期Webアプリケーションについて話していますが、あなたは水中で死んでいます。できない機能1。

JSF 1.2は、「既知のバグ」(私はいつもそのフレーズを愛して)JSFのすべてのaynchronousityがFacesContextを偽造使用しているため、非同期(JSFコンポーネントをレンダリングすることができなくFaceletsRendererクラスであるが導入されましたレンダリングに使用される)。 にはJEE6に対応したJSF 2.1が必要です。そうしないと、別の解決方法が必要になります。コメントは@D1eです。あなたの組織にとって最高の運があります。 PMRへ

+0

私は、非同期Webアプリケーションが質問にどのように関連しているのか、混乱しています。特にstacktraceには、リクエスト処理の前に実行される 'FacesServlet.init'が含まれています。 –

+0

Faceletsをまったく使用していません。 – Stefan

関連する問題