2012-05-04 5 views
2

そのようなものを書くことは可能でしょうか?JSF-ViewParameterの名前をEL式にすることはできますか?

<f:metadata> 
    <f:viewParam name="#{constantsBean.viewParameterNameForIds}" value="#{displayBean.technicalId}" /> 
</f:metadata> 

私はいつもmyfacesエラーが発生しています。これはビューパラメータ名のel式から来ていると思います。

EDIT:フルスタックトレースは次のとおりです。ところで

java.lang.NullpointerException 
at org.apache.myfaces.util.AbstractAttributeMap.get(AbstractAttributeMap.java:94) 
at javax.faces.component.UIViewParameter.decode(UIViewParameter.java:78) 
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1176) 
at javax.faces.component.UIInput.processDecodes(UIInput.java:178) 
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1170) 
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1170) 
at javax.faces.component.UIViewRoot._processDecodesDefault(UIViewRoot.java:1316) 
at javax.faces.component.UIViewRoot.access$400(UIViewRoot.java:75) 
at javax.faces.component.UIViewRoot$ApplyRequestValuesPhaseProcessor.process(UIViewRoot.java:1379) 
at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1282) 
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:718) 
at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:34) 
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:171) 
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
at org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.execute(CodiLifecycleWrapper.java:95) 
at org.apache.myfaces.extensions.validator.core.startup.ExtValLifecycleWrapper.execute(ExtValLifecycleWrapper.java:61) 
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:189) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1147) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:722) 
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:449) 
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:125) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92) 
at gid.common.technical.filter.InboundProcessingFilter.doFilter(InboundProcessingFilter.java:46) 
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:192) 
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:89) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:919) 
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1016) 
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87) 
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:883) 
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1659) 
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511) 
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305) 
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) 
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) 
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) 
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) 
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) 
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775) 
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) 
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1648) 

。 WebSphere 8、Myfaces Codi、およびExtValに同梱のMyFacesを使用しています。

+0

エラーやスタックトレースを入れることができます –

+0

はい、もちろんです。私は週末後にやります。 –

+0

@ojota例外のスタックトレースを追加しました –

答えて

3

<f:viewParam> documentationname属性については、次の言葉:

Name | Required | Request-Time | Type 
-----+----------+--------------+------------------------------------------------- 
name | true  | false  | javax.el.ValueExpression 
    |   |    | (must evaluate to java.lang.String)  

それはないjava.lang.String(あなたが実際に値式を受け入れないid属性に見るようにと同様に)、javax.el.ValueExpression言います。したがって、ELをサポートします。

私はMyFacesを使用しませんが、私はMojarraのテストを行っただけで、私のために働きます。私はあなたが何らかの理由で無関係の情報のように扱うように見えるので、正確にあなたがどんな誤りを持っているのかわからないので、あなたの質問に言及しませんでした。エラーメッセージには、通常、問題の答えが含まれています。あなたが完全なエラーメッセージを投稿すると、我々はがエラーを理解することができ、それにより解決策が明らかになることができるように、メッセージを簡単に説明することができるかもしれません。たとえばMyFacesにまったく違う原因やバグがあってもかまいません。

+0

ありがとうございました!私はそれを再試行し、エラーの詳細を少し調べる –

+0

私はMyFacesの人にそれを報告したい。 – BalusC

+0

コンテナプロバイダのサービスリクエストを作成しました。何が起こるか見てみましょう。 –

関連する問題