# Expressionlanguage String Vergleich



## Björn K. (1. Jun 2007)

Hallo ich möchte was vergleichen in EL

 ${userBean.loginname == row.angelegtvon}

Ist der Login-Name gleich der Name der angezeigten Spalte? Ich habe die beiden Vars schon ausgeben lassen sie ahben den selben String, nichtsdestotrotz wird die BEdingung NICHT true. Was mache ich falsch?


----------



## WeirdAl (1. Jun 2007)

Hi,
Probiers mit ${userBean.loginname == 'row.angelegtvon'} oder  ${userBean.loginname eq 'row.angelegtvon'}

Cu
Alex

Edit: sorry, hab da zu schnell geantwortet  Vergiss meine Vorschläge (row.angelegtvon iss ja ne Variable )


----------



## Marzel (1. Jun 2007)

Zeig mal ein bicßchen mehr Code. Das sieht eigentlich ganz gut aus.


----------



## Sanix (2. Jun 2007)

Das Obige funktioniert bei mir. Du musst uns schon mehr Code liefern.


----------



## Björn K. (3. Jun 2007)

Hier ein bischen mehr Code ich habe c:if benutzt - es ist hier der dataTable von der Tomahawk Bibliothek verwendet worden. Der Hintergrund ist der folgende:

Nur diejenigen, die eine Zeile angeleggt haben sollen sie auch löschen können, daher prüfe ich ob der Login-Name auch der Name der desjenigen ist der die Spalte angelegt hat..


```
<f:subview id="content">
		<h:form>
			<cust:title title="Containerliste" />
			<t:dataTable rows="10" id="containerliste" dataformatas="dd.MM.yyyy"
				styleClass="content" value="#{containerBean.containerListe}"
				var="row">
				<t:column style="#{containerBean.style}">
					<f:facet name="header">
						<h:outputText value="Aktionen" />
					</f:facet>
					<h:commandButton image="images/stift.gif" action="#{row.edit}" />
[i]					<c:if test="${userBean.loginname} == ${row.angelegtvon}">
					   <h:commandButton image="images/trash.gif" action="#{row.delete}" />
					</c:if>[/i]
				</t:column>
				<t:column style="#{containerBean.style}" styleClass="containersize"
					sortable="true" sortPropertyName="containersize">
					<f:facet name="header">
						<h:outputText value="Size" />
					</f:facet>
					<h:outputText styleClass="#{containerBean.style}" value="#{row.containersize}" />
				</t:column>
				<t:column style="#{containerBean.style}" styleClass="containernummer"
					sortable="true" sortPropertyName="containernummer">
					<f:facet name="header">
						<h:outputText value="Containernr." />
					</f:facet>
					<h:outputText styleClass="#{containerBean.style}"
						value="#{row.containernummer}" />
		.....
```


----------



## Sanix (4. Jun 2007)

<h:commandButton image="images/trash.gif" action="#{row.delete}" /> 

Mische nicht JSTL und JSF, das kommt nicht gut. Verwende für solche Sachen die rendered - Eigenschaft!


----------



## SnooP (4. Jun 2007)

Oder aber man guckt sich mal Facelets an... eine sehr vernünftige und hübsche JSF-Erweiterung wie ich finde.

Aber für den obigen Anwendungsfall ist rendered natürlich sinnvoller.


----------



## Björn K. (4. Jun 2007)

Vielen Dank für eure Hilfe, ich hab es jetzt so gemacht und es geht:


```
<h:commandButton image="images/stift.gif" action="#{row.edit}" />
    				<h:commandButton image="images/trash.gif" action="#{row.delete}" rendered="#{userBean.loginname == row.angelegtvon || userBean.authorized}" />
```


----------

