Ich baue eine Web-App mit JSF 2.0 und hatte eine Jaf-Facelets.1.1.10 Jar in meinem WEB-INF> lib-Ordner, so jetzt versuche ich zu entfernen dass ich also die eingebauten Int Facelets 2.0 verwenden kann, die ich durch this Question which balusC answered gelesen habe, und ich habe das getan, außer dem Teil, wo es heißt, ich muss FaceletViewHandler durch ViewHandlerWrapper ersetzen. dafür sah ich this question, aber ich habe keine FaceletViewhandler-Klassen in meinem Projekt.Migrieren zu Facelets 2.0 von Facelets 1.x
ab sofort, sieht meine webxml wie folgt (bitte taht ich nichts übersehen haben, oder ich Referenzierung etwas, was ich nicht sollte:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>miloWeb</display-name>
<welcome-file-list>
<welcome-file>faces/pages/index.xhtml</welcome-file>
</welcome-file-list>
<listener>
<listener-class>com.bravo.listeners.ServletListener</listener-class>
</listener>
<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>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>PdfServlet</servlet-name>
<servlet-class>com.bravo.servlets.PdfServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PdfServlet</servlet-name>
<url-pattern>/PdfServlet</url-pattern>
</servlet-mapping>
<filter>
<filter-name>MyFacesExtensionsFilter</filter-name>
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<context-param>
<description>
This is to Have separated faces.config files
</description>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>
/pages/history/faces-config.xml,
/pages/contactInformation/faces-config.xml,
/pages/childHealthRecord/faces-config.xml,
/pages/dashboard/faces-config.xml,
/pages/insurance/faces-config.xml,
/pages/search/faces-config.xml,
/pages/labs/faces-config.xml,
/pages/patient/faces-config.xml,
/pages/physical/faces-config.xml,
/pages/notes/faces-config.xml,
/pages/scheduler/faces-config.xml,
/pages/settings/faces-config.xml,
/pages/orderEntry/faces-config.xml,
/pages/vitals/faces-config.xml
</param-value>
</context-param>
<context-param>
<description>State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2</description>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>resources.application</param-value>
</context-param>
</web-app>
Und wie Sie sehen können, ich habe schon einige Gesichter-configs entfernte ich die
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
</application>
Und jetzt sieht es wie folgt aus (ich kenne einige Funktionen, die ich wie die Navigation nicht brauchen, aber weh tut es wirklich taht Weg zu halten?):
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
<managed-bean>
<managed-bean-name>vitalsBB</managed-bean-name>
<managed-bean-class>com.bravo.vitals.VitalsBB</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<navigation-case>
<from-outcome>vitals</from-outcome>
<to-view-id>/pages/vitals/vitals.xhtml</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
</faces-config>
nach ein paar Änderungen machen und es so zu verlassen, betreibe ich das Projekt auf tomcatv7 und nutzen Sie diesen Fehler:
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:452)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:140)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:349)
Heißt das, wie ein Fehler sehe ich dafür, dass meine Dateien wie diese bekommen würde? weil ich nur die jar-faselets.1.1.10.jar entfernt habe und jetzt bekomme ich diesen Fehler. Aber die App funktioniert gut b4 Ich entferne die Facelets Glas, also was ist die Beziehung zwischen diesen beiden Gläsern ??
Ich versuchte, die jstl.jar Zugabe, aber das funktioniert nicht, es zeigt mir nur dies:
Ich habe das Glas hinzugefügt, aber es ist komisch Es hat sich vorher nicht beschweren. Ich habe es hinzugefügt, und jetzt, wenn ich versuche, es auf dem Server zu starten, (es versuchte, index.xhtml zu öffnen) und ein Pop-up erscheint, fragt mich, ob ich die Datei öffnen oder speichern möchte? Ich habe das nie zuvor bekommen – Myy