JSF MyFaces Tomahawk Probleme

waldek87

Mitglied
Hallo,

ich migriere zur Zeit eine Anwendung von JSF 1.1 auf JSF 2.0.
Laufzeitumgebung der Webapplication ist ein Glassfish v3.1.
Leider habe ich 2 Probleme mit Tomahawk:
1. Header - Facet in der DataTable wird beim Klick auf einen Link innerhalb der Tabelle (z.B. löschen des jeweiligen Datensatzes oder beim Klick auf eine Spalte im TabellenHeader)
2. der Datepicker von Tomahawk funktioniert bei mir jetzt gar nicht mehr.

(beide Probleme sind aber in verschiedenen Views)

Hier der Code für das Sortieren:

Java:
<t:dataTable
	var="row" value="#{VeranstalterHandler.veranstalter}"
	binding="#{VeranstalterHandler.veranstalterTabelle}" 
	border="0" 
	cellpadding="3"					
	cellspacing="0" >
		<t:column sortable="true" defaultSorted="true">
			<f:facet name="header"><h:outputText value="Name"/></f:facet>
			<h:panelGroup rendered="#{VeranstalterHandler.errorMessage} != null and VeranstalterHandler.errorNumber == row.veranstalter.id}">
			<h:outputText value="  " />
			</h:panelGroup>
			<h:outputText value="#{row.veranstalter.name1} #{row.veranstalter.name2} #{row.veranstalter.name3}"/> 
		</t:column>
					
		<t:column sortable="true">
			<f:facet name="header"><h:outputText value="Straße"/></f:facet>
			<h:outputText value="#{row.veranstalter.strasse}"/> 
		</t:column>
					
		<t:column sortable="true">
			<f:facet name="header"><h:outputText value="Ort"/></f:facet>
			<h:outputText value="#{row.veranstalter.ort}"/> 
		</t:column>
					
		<t:column>
			<h:panelGroup style="display:block;text-align:right">
				<h:outputText value="  " />
				<h:commandLink action="#{VeranstalterHandler.deleteVeranstalter}"  
					onclick="if (!confirm('Soll Veranstalter #{row.veranstalter.name} wirklich gelöscht werden?')) return false;" >
					<h:graphicImage library="images" value="cross.gif" name="cross.gif" alt="Veranstalter löschen" title="Veranstalter löschen" />
					<t:updateActionListener value="#{row.veranstalter}" property="#{VeranstalterHandler.killme}"/>
				</h:commandLink>
			</h:panelGroup>  
		</t:column>
									
</t:dataTable>

und der Code für den Datepicker:

Java:
	<t:panelGroup>
		<t:inputCalendar
	                value="#{KopfdatenHandler.vertragKopf.massnahmeVon}" 
	                renderAsPopup="true"
	                renderPopupButtonAsImage="true"
	                popupButtonImageUrl="/images/calendar.gif"/>														
		<t:message for="startdatum" detailFormat="Bitte wählen Sie ein gültiges Datum aus"></t:message>
	</t:panelGroup>

Weiß einer Rat?

Gruß
Waldek87
 

waldek87

Mitglied
Das mit dem inputCalendar hab ich jetzt lösen können. Ich hatte den StackTrace im server-Log vom glassfish übersehen. Ich hatte ein paar Filter Einstellungen für JSF nicht eingetragen.

Java:
  <filter>
	<filter-name>MyFacesExtensionsFilter</filter-name>
	<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    <init-param>
        <param-name>uploadMaxFileSize</param-name>
        <param-value>20m</param-value>
    </init-param>
   </filter>
   <filter-mapping>
	<filter-name>MyFacesExtensionsFilter</filter-name>
	<servlet-name>Faces Servlet</servlet-name>
   </filter-mapping>
	
   <filter-mapping>
	<filter-name>MyFacesExtensionsFilter</filter-name>
	<url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
   </filter-mapping>

Leider läuft das mit den Tabellen Headern immer noch nicht.
 
G

gman

Gast
1. Header - Facet in der DataTable wird beim Klick auf einen Link innerhalb der Tabelle (z.B. löschen des jeweiligen Datensatzes oder beim Klick auf eine Spalte im TabellenHeader)

Da fehlt wohl noch der Rest der Fehlerbeschreibung!
 

waldek87

Mitglied
Ups, das hab ich total übersehen :(

Also wenn ich auf einen Header zum Sortieren klicke, werden beim nächsten Rendern der Seite werden erst die Inhalte der Header nicht angezeigt. Wenn ich dann zb. einen Eintrag innerhalb der Tabelle löschen möchte, fehlen dann beim nächsten Rendern die Header komplett.
Das alles verwirrt mich ein wenig, da ja nur Plain Text über <h:eek:utputText /> ausgegeben wird.

Gruß
Waldek87
 

waldek87

Mitglied
Hallo,

ich habs hingekriegt! hier ist der code, falls den jemand mal brauchen würde:

Java:
<t:dataTable 
        var="car"
	value="#{tableBean.carsSmall}"
	styleClass="ecc-table"
	border="0"
	rowClasses="ecc-table-row1,ecc-table-row2"
	headerClass="ecc-table-header"
        sortColumn="#{tableBean.sortColumn}"
        sortAscending="#{tableBean.sortAscending}"
        preserveDataModel="true"
        preserveSort="true">
			
	<t:column>
		<f:facet name="header">
			<t:commandSortHeader columnName="model" arrow="true">
				<h:outputText value="Model" />
			</t:commandSortHeader>
		</f:facet>
		<h:outputText value="#{car.model}" />
	</t:column>

und im java code muss folgendes in der bean implementiert werden.

Java:
public void sort(final String column){
	Comparator<Car> comparator = new Comparator<Car>()
	{
		@Override
		public int compare(Car car1, Car car2)
		{		
			if(column == null)
				return 0;
				
			if(column.equals("model")){
				return sortAscending ? car1.getModel().compareTo(car2.getModel()) : car2.getModel().compareTo(car1.getModel());
			} 
				
			if(column.equals("manufacture")){
				return sortAscending ? car1.getManufacturer().compareTo(car2.getManufacturer()) :  car2.getManufacturer().compareTo(car1.getManufacturer());
			}
				
			return 0;
		}
	}; 
	Collections.sort(carsSmall, comparator);
}

Diese Methode sollte dann aufgerufen werden, nachdem die Liste erstellt wurde. Dazu müssen noch 2 Variablen (column, ascending) in der Bean angelegt werden.

- "column" dient dazu, die Spalte zu speichern, die gerade sortiert ist.
- "ascending" dient dazu, um sich zu merken ob jetzt ascending oder descending sortiert werden soll.

Gruß
Waldek87
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
ruutaiokwu myfaces macht unbekannte zeichen in output rein... Web Tier 7
S "An error occured while initializing MyFaces" Web Tier 2
F No Factories configured for this Application - Myfaces mit Tomcat Web Tier 1
M Apache MyFaces ExtVal Web Tier 5
A MyFaces 1.2.6 EL? Web Tier 4
J Ajax in MyFaces? Web Tier 6
G MyFaces: HTML Ausgabe Code steuern Web Tier 8
G MyFaces PanelTab Komponente: Tabs in mehrern Zeilen möglich? Web Tier 3
A JSTL Tags funktionieren nicht in Facelets/MyFaces Web Tier 3
Y myFaces - Scope und t:saveState Erfahrungen Web Tier 9
Y myFaces - SelectItem Web Tier 39
Y myFaces 1.2 - kein ServletContext ? Web Tier 9
K jsf 1.2 tomahawk t:dataTable generic use Web Tier 3
C JSF Zusammenarbeit Primefaces und Tomahawk. Web Tier 2
K JSF websphere application server 8 tomahawk problem Unable to find resource Web Tier 3
M Tomahawk Unspupported component-family Web Tier 14
J JSF JavaScript Probleme zwischen Tomahawk und Tiles!? Web Tier 2
K JSF Tomahawk dataScroller mit dataTable Web Tier 4
G Tomahawk FileUpload UploadedFile ist null Web Tier 4
pkm Probleme mit einem AJAX-Call in einem dynamischen Webprojekt Web Tier 15
M JSF Probleme bei Navigation mit Verzeichnisswechsel Web Tier 2
W JSF Probleme mit Data Table Web Tier 8
W JSF Probleme mit Zugriff zur Managed Bean Web Tier 11
G Probleme mit Java + Tomcat | Cannot switch on a value of type String for source level below 1.7 Web Tier 8
F JSF Probleme mit OverlayPanel Web Tier 0
H Frameset durch Tabelle ersetzten - Probleme mit jsp:include Web Tier 3
xehpuk JSF URL-Encoding-Probleme bei <h:link> (Mojarra) Web Tier 4
M ejb @Remote macht probleme Web Tier 10
S JSF SelectOneMenu - Probleme mit AJAX Web Tier 6
W Probleme mit Expression language ? Web Tier 13
P JSF Datenbank Probleme (Limit, Wiederholung) Web Tier 8
B Probleme mit h:selectOneRadio Web Tier 2
T DWR - Probleme mit Konfiguration Web Tier 13
G Probleme mit EclipseLink und Java.util.Date Web Tier 3
S JSF Probleme beim redirect im ExceptionHandler Web Tier 2
P JSF 1.2 Navigation probleme Web Tier 2
D Probleme beim installieren von WebBeans Web Tier 2
D Probleme mit Tomcat Web Tier 3
M Tomcat 6 Umlaut Probleme Web Tier 2
D Seam Example Probleme Web Tier 2
C Probleme mit JSPs in Unterverzeichnissen Web Tier 4
A [PrimeFaces] dataTable mit paginator Probleme Web Tier 2
H Probleme beim Aufrufen von Java- oder Servlet-Methoden aus Javascript Web Tier 2
0 JSF: css einbinden - Probleme Web Tier 2
M iframe probleme Web Tier 2
K [GWT] Probleme beim asynchronen Methodenaufruf mit GWT-RPC Web Tier 8
B Probleme mit RichFaces Web Tier 2
O struts2 - Probleme mit parametrisierten URLs Web Tier 5
E Probleme mit GWT & MySQL Web Tier 3
G Probleme mit Ajax Login (jsp) Web Tier 5
S Tomcat / Eclipse Probleme Web Tier 2
B Probleme mit <jsp:include page=""/> und Laufzeit Web Tier 7
P Zurück-Button des Browsers macht Probleme Web Tier 9
O Struts2: Probleme mit Links aus Packages raus Web Tier 9
A JSF+Glassfish: Probleme mit Managed Bean Web Tier 2
S Probleme mit den Nav_rules und HTML code Web Tier 2
D Probleme mit ServletRequest Web Tier 14
G Probleme mit Tomcat Web Tier 14
E RichFaces 3.2.1 Probleme Web Tier 4
W JSTL macht Probleme Web Tier 6
W JavaBeans class="" macht Probleme Web Tier 2
A Time-Out Probleme Web Tier 21
B Probleme mit Marquee Tag Web Tier 3

Ähnliche Java Themen

Neue Themen


Oben