# JSF: Name des Formulars auslesen



## Samson_Miller (4. Mai 2009)

Hallo,

ich habe in meiner View ein Formular: 


```
<h:form id="loginForm">
  .
  .
  .
</h:form>
```

und in diesem bereich möchte ich auslesen wie das form heißt. Und das möchte ich nicht mit JS-Methoden machen sondern auf dem JSF-Weg, so wie (funktioniert so allerdings nicht):


```
<h:outputText value="#{form.id}" />
```

Ist es möglich auf den Namen des Formulars zuzugreifen, und wenn ja wie?


----------



## Rydl (4. Mai 2009)

ne, das ist so nicht möglich. mit richfaces kann man elemente anhand ihrer id noch recht einfach ansprechen, aber dein problem scheint mir nach einer ganz anderen lösung zu schreien. 
was genau ist denn das problem / die aufgabe?


----------



## Samson_Miller (4. Mai 2009)

Meine einzelnen Views bestehen aus mehreren Dateien ( top.jsp, buttom.jsp usw.) für den jeweiligen Bereich der Seite. In der top.jsp-Datei soll beispielsweise immer ein "Zurück"-Button angezeigt werden, ausser wenn der Benutzer die Übersichts- oder die Login-Seite zu sehen bekommt.

Um in der top.jsp rauszufinden welche View dem Benutzer gerade angezeigt wird, bin ich auf die Idee gekommen, den Namen des umschließenden Formulars auszulesen, was leider nicht zum erfolg führte. Für andere Ideen zur Problemlösung bin ich immer offen.


----------



## Rydl (4. Mai 2009)

du benutzt jsf und sonst nichts weiter?
dann sollte die faces-config.xml dir weiterhelfen. lies dazu mal was über navigation rules: Configuring Navigation Rules


----------



## JimPanse (26. Mai 2009)

1. Möglichkeit 

- entweder in einer Bean oder im PhaseListener (BeforePhase-Methode und PhaseId.RestoreView)

FacesContext context = FacesContext.getCurrentInstance();

UIViewRoot viewRoot = context.getViewRoot();

viewRoot.getViewId();


2. Unterstützt die UIForm auch EL-Expression

<h:form id="l#{bbean.formId}">
...</h:from>

Greetz


----------

