# Datenbindung in JSF will nicht so wie ich...



## haf_blade (30. Mrz 2010)

Hallöle liebe Leut,

wahrscheinlich hab ich bei meinem folgenden Problen nur ne jar oder so vergessen aber ich weiß echt net weiter...

Ich hab bereits schon mal auf Basis eines JBoss eine JSF Anwendung mit EJB3 etc. geschrieben und jetzt wollte ich ein ähnliches Projekt auf nem Tomcat machen.

Alles hat bis jetzt geklappt nur jetzt hab ich meine erste JSF-JSP geschrieben:


```
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>

<f:loadBundle basename="resources.application" var="msg"/>

<html>
	<body>
		<f:view>
			<h:form id="form">
				<h:dataTable value="#{valueaddedtaxController.vatList}" var="entry">
					<h:column>
						<f:facet name="header">
							<h:outputText value="#{msg.name}" />
						</f:facet>
						<h:outputText value="#{entry.name}" />
					</h:column>
					<h:column>
						<f:facet name="header">
							<h:outputText value="#{msg.country}" />
						</f:facet>
						<h:outputText value="#{entry.country}" />
					</h:column>
					<h:column>
						<f:facet name="header">
							<h:outputText value="#{msg.value}" />
						</f:facet>
						<h:outputText value="#{entry.value}" />
					</h:column>
				</h:dataTable>
			</h:form>
		</f:view>
	</body>
</html>
```

Wenn ich die jetzt öffne kommt folgendes im Browser dabei rum:

```
#{msg.name}	#{msg.country}	#{msg.value}
#{entry.name}	#{entry.country}	#{entry.value}
```

Das msg nimmt die Daten aus einer Properties Datei, welche ich genau wie im JBoss in meiner Application platziert habe und die Klasse passend zum valueaddedtaxController Aufruf steht auch in meiner faces-config.xml


```
<faces-config>
	<application>
		<locale-config>
			<default-locale>de</default-locale>
			<supported-locale>en</supported-locale>
		</locale-config>
	</application>
	<navigation-rule>
		<navigation-case>
			<from-outcome>listValueaddedtax</from-outcome>
			<to-view-id>/jsp/valueaddedtaxList.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>editValueaddedtax</from-outcome>
			<to-view-id>/jsp/valueaddedtaxDetail.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
	<managed-bean>
		<managed-bean-name>valueaddedtaxController</managed-bean-name>
		<managed-bean-class>de.daniva.onlineshop.jsf.ValueaddedtaxController</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
	</managed-bean>
</faces-config>
```

Für mich sieht es so aus als würde er die Datenbindung per #{xyz} nicht korrekt auflösen.
Weiß jemand woran das liegen könnte?

Schon mal danke für eure Hilfe... Sitze hier wie Doofkopp vor meiner Kiste und finde es einfach net.

lg,
Daniel


----------



## MrWhite (30. Mrz 2010)

Probier mal ${} statt #{} zu schreiben. Ich denke, JSP Servlets kommen mit den JSF Expressions nicht klar.

Ausserdem würde ich JSP und JSF niemals so mixen, wie du es tust! Nutze doch lieber nur JSF!


----------



## haf_blade (30. Mrz 2010)

Hey das ging ja mal flott mit der Antwort.
Ich werds gleich mal ausprobieren und mich dann nochmal melden.

Zu dem Mixen. Das war mehr ein Versuch obs überhaupt funktioniert.
Ich benutze sowieso nachher noch Frameworks für die Oberfläche, statt reines jsf / jsp.

Aber danke für den Tipp 

EDIT:
Hab das Ganze mal probiert aber leider mit dem gleichen Ergebnis, nur dass jetzt halt folgendes angezeigt wird.


```
${msg.name}	${msg.country}	${msg.value}
${entry.name}	${entry.country}	${entry.value}
```


----------

