JSF Primefaces Thema, Css wird geladen, nur die Bilder nicht, bzw Resource wird nicht aufgelöst

sence

Bekanntes Mitglied
Hallo zusammen,

verwende Primefaces in der aktuellsten Version (2.2.1) zusammen mit Prettyfaces.
Die CSS Datei von Primefaces cupertino (Theme) wird erfolgreich geladen.
Jedoch werden die Ressource Expressions nicht aufgelöst:
url("#{resource[\'primefaces-cupertino:images/ui-bg_glass_80_d7ebf9_1x400.png\']}")
so schaut es dann aus mit firebug.

die Farbe stimmt, nur die Icons sind nicht zu sehen :/
Das Theme sollte korrekt in der Web.xml eingebaut sein:

Code:
  <context-param>
  <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
  <param-value>true</param-value>
 </context-param>
 <!-- Überschreiben der EL Expression Language im ExpressionFactory mit JBoss EL 2.x -->
 <context-param>
  <param-name>com.sun.faces.expressionFactory</param-name>
  <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>
 </context-param>
 
 
 <!--  PRIMEFACES TIME START -->
 <filter>
 <filter-name>PrimeFaces FileUpload Filter</filter-name>
 <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
 <init-param>
  <param-name>thresholdSize</param-name>
  <param-value>102400</param-value>
 </init-param>
 <init-param>
  <param-name>uploadDirectory</param-name>
  <param-value>/var/lib/tomcat6/webapps/mywebAPP/tmp</param-value>
 </init-param>
</filter>
<filter-mapping>
 <filter-name>PrimeFaces FileUpload Filter</filter-name>
 <servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

 <context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>

<context-param> 
    <param-name>primefaces.THEME</param-name> 
    <param-value>cupertino</param-value> 
</context-param>

<context-param> 
<param-name>org.apache.myfaces.USE_ENCRYPTION</param-name> 
<param-value>false</param-value> 
</context-param> 

<servlet>
 <servlet-name>Resource Servlet</servlet-name>
 <servlet-class>org.primefaces.resource.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
 <servlet-name>Resource Servlet</servlet-name>
 <url-pattern>/primefaces_resource/*</url-pattern>
</servlet-mapping>

 <!--  PRIMEFACES TIME END -->
 
 <!--  Pretty Faces START -->
 <context-param>
	<param-name>com.ocpsoft.pretty.CONFIG_FILES</param-name>
	<param-value>/WEB-INF/custom-mappings.xml,/META-INF/another-config.xml</param-value>
</context-param>

 <filter>
   <filter-name>Pretty Filter</filter-name>
   <filter-class>com.ocpsoft.pretty.PrettyFilter</filter-class>
</filter>
<filter-mapping> 
   <filter-name>Pretty Filter</filter-name> 
   <url-pattern>/*</url-pattern> 
   <dispatcher>FORWARD</dispatcher> 
   <dispatcher>REQUEST</dispatcher> 
   <dispatcher>ERROR</dispatcher>
</filter-mapping>

<!--  PRETTY FACES END -->

Vielen Dank!
 
Zuletzt bearbeitet:
hey,

habe es in WEB-INF/lib/ hinein und den CLASSPATH gesetzt.


noch eine weitere Frage:
ich benutze Tomcat6. Nun habe ich durch sehr viele dritt Librarys rund 14 MB an Dateien.
Wie mache ich das am besten, dass ich diese Libs alle auf dem Tomcat global ablege und in Eclipse die einbinde.
Wusste es mal vor paar Jahren 🙁

danke!
 
Zuletzt bearbeitet:
Wenn ich nun die JSF 2.1.2 Implementierung von Mojarra nehme, funktionieren die Bilder oO
nur haut es meine JBoss EL raus, und ich finde keine alternative um Parameter mit im Konstruktor zu übergeben.

weiß wer Rat ?
danke
 
Hallo, sence

Ich bin mir jetzt nicht sicher, ob es eine Eigenheit von MyFaces oder JSF 1.2 ist oder ob es generell so ist, aber bei mir wird der Konstruktor oft mehrmals hintereinander angesprochen, bis eine richtige Instanz von der Bean erzeugt wurde, was in den meisten Fällen bei mir so gar nicht gewünscht war, da es beim Laden zu extremen Wartezeiten kam. Daher benutze ich in der Regel eine init()-Funktion, die ich mit der Annotation
Code:
@PostConstruct
ausstatte. Diese Funktion wird nun automatisch aufgerufen, wenn eine Instanz von der Bean erzeugt wurde. Und in eben dieser Funktion holen sich meine Beans immer alle Werte, die sie brauchen, ohne direkt auf Übergabeparameter angewiesen zu sein.

Alle anderen Fälle, in denen meine Beans Übergabeparameter brauchen, arbeite ich einfach mit den ActionListenern und den entsprechenden Events, die die Parameter als Event-Attribute mitbringen.

mfg
Jay
 
Hallo,

Danke erstmal für deine Antwort.

Habe mir nun die Sun JSF 2.1.2 Impl + API geholt.
Ebenfalls die Sun EL 2.2.

Es trat immer noch der Fehler auf, dass meine EL nicht gültig wären.
Die Lösung fand ich irgendwo in einem Forum, dass zu jedem Getter auch ein Setter vorhanden sein muss,
ob genutzt oder nicht ist egal.
Siehe da, die Fehler verschwanden oO

Ich nutze die EL 2.2 um z.B. aus einem Datatable direkt den "vom Benutzer" selektieren Eintrag weiter zu verarbeiten

#{var.doEdit(var)}

Das meinte ich mit Parameter übergeben -.-
trotzdem Danke!

Thema Gelöst!
 

Zurück
Oben