# Parameterübermittlung in JSF



## reibi (12. Apr 2007)

Hallo,

habe folgendes Problem:
Ich habe eine Klasse namens User mit folgender Funktionalität: 


```
class User{
public boolean isAllowed(){


boolean retVal = false;


return retVal;

}
}
```


Auf der FrontSeite greife ich folgendermassen darauf zu:


<hutputLabel rendered="#{User.allowed}"> 


Wie kann ich einen Parameter auf der Frontseite mit übergeben welcher zB einen int beinhaltet

Also ich will praktisch sowas hier benutzen

public boolean isAllowed(*int myIntValue*){..}

vielen Dank für die Hilfe
;-)


----------



## WeirdAl (12. Apr 2007)

Hi,
selbst erstellte Methoden mit Parameterübergabe kann man in JSF nicht in der View nutzen. Wenn du eine Methode mit Parameterübergabe nutzen willst, kannst du deinen Wert in der Actionmethode setzen oder über den <faram>-Tag in der View übertragen.

Cu
Alex


----------



## bolda (13. Apr 2007)

Hallo

Ich glaube, dass Reibi das selbe Problem hat wie ich.
Und zwar möchte ich den Link nur dann darstellen, wenn der User die entsprechende Berechtigung hat.
Das mit dem <faram ist dann bereits zu spät. Dieser wird ja erst bei submit des Links mitgegeben.


Ich könnte mir folgendes vorstellen: (geht aber nicht, oder ich mache etwas falsch)
Es geht um das for:


```
<h:commandLink action="#{User.details}" value="Ihre Einstellungen" rendered="#{User.allowed}" for="AlleUser"/>
<h:commandLink action="#{User.edit}" value="Ihre Einstellungen bearbeiten" rendered="#{User.allowed}" for="Administrators,Helpdesk"/>
<h:commandLink action="#{User.del}" value="User löschen" rendered="#{User.allowed}" for="Administrators"/>
```

Gruss
Bolda


----------



## WeirdAl (13. Apr 2007)

Hi,
wenn Du sowas vorhast, musst Du dich ja so gesehen irgendwo als User eingeloggt haben. An dieser Stelle kannst du dann in der Login-Submit-Action einen Wert in die Session schreiben und dann per Context auf eine Variable (zb. logged in == true oder UserSessionObject != null) zugreifen. 
Wenn du JSF 1.2 benutzt kannst Du z.B. in JSP A nach erfolgreichem Login eine userID in die Session schreiben und dann in allen anderen Managed-beans diesen Wert mit #{sessionScope.userID} initialisieren. Dafür muss die Property jedoch in faces-config eingetragen werden.

Cu
Alex


----------

