2009-06-30 10 views
1

Also habe ich diese Frage im Icefaces-Forum gepostet, aber nicht viel Liebe bekommen, also dachte ich, ich würde es hier versuchen.Verwendung von PersistentFacesServlet und FacesServlet im selben Krieg

In meiner Webapp verwende ich IceFaces für den Großteil der Anwendung, aber ich möchte regelmäßige JSF für ein mobiles Stück der Lösung verwenden. Ich kann das IceFaces-Servlet anscheinend nicht "loslassen" lassen und es dem regulären FacesServlet überlassen. Teil web.xml unter ...

ich zwei verschiedene Ansätze versucht haben, 1) auch in der Hoffnung, versucht die mobile Datei als fileName.mobile und dann Namensgebung nur http://myURL/AppName/mobile/ es auf dem mobilen Weg lenken würde.

Ein interessantes Verhalten, das ich bekomme, wenn ich http://myURL/AppName/fileName.mobile nur tun, ist, dass es einen Fehler „javax.faces.FacesException erhält: Problem in Render:/fileName.xhtml nicht als Ressource in ExternalContext gefunden bei com.icesoft .faces.context.View.servePage (View.java:136) "

<servlet> 
    <servlet-name>Persistent Faces Servlet</servlet-name> 
    <servlet-class>com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet> 
    <servlet-name>Faces Servlet</servlet-name> 
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>Persistent Faces Servlet</servlet-name> 
    <url-pattern>*.xhtml</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>Persistent Faces Servlet</servlet-name> 
    <url-pattern>*.iface</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>Persistent Faces Servlet</servlet-name> 
    <url-pattern>/xmlhttp/*</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>Persistent Faces Servlet</servlet-name> 
    <url-pattern>/faces/*</url-pattern> 
</servlet-mapping> 
<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>*.mobile</url-pattern> 
</servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>/mobile/*</url-pattern> 
</servlet-mapping> 
<welcome-file-list> 
    <welcome-file>index.xhtml</welcome-file> 
</welcome-file-list> 

Irgendwelche Gedanken?

Antwort

0

Schauen Sie sich die JustIce Gläser an. Im Grunde lebt die JustIce-Implementierung des Persistance Faces-Servlets in Harmonie mit anderen Implementierungen von JSF. Es sollte so einfach sein, das IceFaces.jar durch das JustIce.jar zu ersetzen, aber da NetBeans dies für mich erledigt, musste ich nicht gleich nach einer Weile nachsehen. :)

+0

Ich hätte wahrscheinlich erwähnen sollen, dass ich das Glas bereits mit dem Justizglas ersetzt habe. Ich werde zurückgehen und sicherstellen, dass ich die anderen Gläser nicht im Cache oder woanders habe ... aber justice.jar war an Ort und Stelle, bevor ich gepostet habe. Ich bin gespannt, wie Netbeans das für dich erledigt? –

+0

Ich sagte, dass ich das IceFaces Framework brauchte, dann ersetzte ich die übliche Runtime-Bibliothek von IceFaces durch die JUSTIce RunTime Library. Ich glaube, ich musste meine web.xml optimieren, aber ich erinnere mich nicht an die Schritte, die ich unternommen habe. – Drew