小编NCi*_*ter的帖子

奇怪的启动错误更新到Mojarra 2.2.6

我已经在Tomcat 7.0.42 + jdk1.6.0_27系统上将Mojarra 2.2.5更新为2.2.6,并且在启动时,我遇到了folloging错误(...即使应用程序启动并正常工作):

SEVERE: Unable to find the encoded key.
javax.naming.NameNotFoundException: Name [jsf/ClientSideSecretKey] is not bound in this Context. Unable to find [jsf].
    at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:154)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:831)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:154)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:831)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
    at org.apache.naming.SelectorContext.lookup(SelectorContext.java:158)
    at javax.naming.InitialContext.lookup(InitialContext.java:392)
    at com.sun.faces.renderkit.ByteArrayGuard.setupKeyAndMac(ByteArrayGuard.java:214)
    at com.sun.faces.renderkit.ByteArrayGuard.<init>(ByteArrayGuard.java:89)
    at com.sun.faces.renderkit.ClientSideStateHelper.init(ClientSideStateHelper.java:476)
    at com.sun.faces.renderkit.ClientSideStateHelper.<init>(ClientSideStateHelper.java:150)
    at com.sun.faces.renderkit.ResponseStateManagerImpl.<init>(ResponseStateManagerImpl.java:68)
    at com.sun.faces.renderkit.RenderKitImpl.<init>(RenderKitImpl.java:121)
    at com.sun.faces.renderkit.RenderKitFactoryImpl.<init>(RenderKitFactoryImpl.java:79)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:721)
    at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:553)
    at javax.faces.FactoryFinder.access$500(FactoryFinder.java:140)
    at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1120)
    at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:379)
    at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:328) …
Run Code Online (Sandbox Code Playgroud)

jsf-2 tomcat7 mojarra

19
推荐指数
1
解决办法
4042
查看次数

以编程方式添加 &lt;f:event...

我有一个包含以下代码的 JSF 页面:

...
<f:event type="preRenderView" listener="#{page1.PreRenderViewEvent}"/> 
...
Run Code Online (Sandbox Code Playgroud)

现在我需要在页面中而不是Page1 类构造函数中注册侦听器(Page1.PreRenderViewEvent 方法)......类似于:

...
UIViewRoot root = FacesContext.getCurrentInstance().getViewRoot();
root.getListenersForEventClass(javax.faces.event.PreRenderViewEvent.class).add ....
...
Run Code Online (Sandbox Code Playgroud)

我如何完成此代码?
谢谢。

event-handling jsf-2 viewroot

2
推荐指数
1
解决办法
742
查看次数

MyFaces Facelet 包含中的 NullPointerException


我正在尝试将简单的 JSF2.2 原型从Mojarra 2.2.5(...工作正常...)迁移到MyFaces 2.2.3,但出现NullPointerException我通常使用 Mojarra 做的是以编程方式
在容器中 包含(注入)JSF 页面。

示例包含页面(inclusion.xhtml)是:

<h:panelGroup id="container">
</h:panelGroup>
<h:form>
    <h:commandButton value="Include page" action="#{inclusion.include('included.xhtml')}" />
</h:form>
Run Code Online (Sandbox Code Playgroud)

包含的页面(included.xhtml)包含类似以下内容:

    <h:outputText value="INCLUDED TEXT ..." />
Run Code Online (Sandbox Code Playgroud)

这是托管 bean

    @ManagedBean(name="inclusion")
    @RequestScoped
    public final class Inclusion {

    public void include(String contentUrl) throws IOException{
        FacesContext fc = FacesContext.getCurrentInstance();        
        FaceletContext f2ctx = (FaceletContext) fc.getAttributes().get(FaceletContext.FACELET_CONTEXT_KEY);
        UIComponent uic = fc.getViewRoot().findComponent("container");
        if (uic != null && f2ctx != null) {
            f2ctx.includeFacelet(uic, contentUrl);              
        }
    } …
Run Code Online (Sandbox Code Playgroud)

facelets myfaces jsf-2.2

1
推荐指数
1
解决办法
4823
查看次数