Expressionlanguage String Vergleich

  • Themenstarter Themenstarter Björn K.
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

Björn K.

Gast
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?
 
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 🙂)
 
Zeig mal ein bicßchen mehr Code. Das sieht eigentlich ganz gut aus.
 
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..

Code:
 <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}" />
		.....
 
<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!
 
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.
 
Vielen Dank für eure Hilfe, ich hab es jetzt so gemacht und es geht:

Code:
					<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}" />
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben