JSF : Zugriff auf InputText Id's

SananniC

Grünschnabel
Guten Morgen,

ich bräuchte mal einen kleinen Denkanstoß für ein Problem.
Ich habe eine ManagedBean zum hinzufügen von Usern, die Ganze Sache arbeitet im Hintergrund noch mit einem RestfulService.
Meine Bean hat eine Methode zum hinzufügen von Usern namens PostUserEntry(String name [......]).

Jetzt stellt sich mir die Frage ob ich diese in meiner Jsf Form einfach ansprechen kann indem ich die
InputText ids auslese, also ungefähr so:

Code:
<h:form>
<h:inputText id="name"/>
<h:inputText id="prename"/>
(......)
<h:commandButton value="save" action="#{UserResource.postUserEntry(name,prename ...) }">

</h:form>

Könnte das ganze in irgendeiner Form funktionieren(wenn ja, wie?) oder muss ich umdenken?

Viele Grüße!
 
Hi,

so in der Form geht es nicht, da wird 'name' und 'prename' als String direkt übertragen.
Wenn ich mich recht erinnere müsste es so in etwa funktionieren:

Java:
<h:form id="form">
<h:inputText id="name"/>
<h:inputText id="prename"/>
(......)
<h:commandButton value="save" action="#{UserResource.postUserEntry(param['form:name'],param['form:prename'] ...) }">
 
</h:form>

Ist jetzt aber ungetestet.
Ansonsten gibt es aber natürlich noch mehrere andere Möglichkeiten, eine simple übersicht findest du unter 4 ways to pass parameter from jsf page to backíng bean

Ich hoffe ich konnte dir damit helfen

Gruß
Matt
 
Hi Matt,

Vielen Dank für deine Antwort. Dein Ansatz wirft leider bei mir eine NullPointerException, wäre auch zu schön gewesen um wahr zu sein ;)
Ich werd mich jetzt mal um die anderen Wege kümmern und schauen ob da einer in Betracht gezogen werden kann.

Falls noch andere Lösungsvorschläge existieren: immer her damit!


Vielen Dank & Viele Grüße

Basti
 
Update: Funktioniert doch. nur hab ich jetzt das Problem das er meine UriInfo nicht injected.
Gibt es dafür eine simple Lösung? (URI location = t.getAbsolutePathBuilder().path(""+index).build();)
wobei hier mein t (UriInfo aus dem Kontext der Bean) leider immer null ist.


Vielen Dank

Basti
 
Hat das injecten denn vorher Funktioniert?

Wenn ja, hast du neben den Sachen in der JSF noch was geändert?
Und es wäre super, wenn du ein bisschen mehr vom Code posten kannst und auch sagen würdest was für ein Framework du fürs injecten benutzt(Spring, EJB, ...).

EDIT: Zum Thema "zu schön um wahr zu sein", ich kriege auch immer wieder Glücksgefühle, wenn ich sehe, dass die Parameterübergabe in der EL funktioniert. Habe heute auf Arbeit noch damit gearbeitet und zwar sogar ganze Objekte als Parameter und es funktioniert einfach und es ist echt schön :) Ich weiß noch genau wie nervig es wahr, als es noch nicht funktioniert hat und man irgendwie drum rumpfuschen musste, aber seit EL 2.2 geht es zum Glück.
 
Zuletzt bearbeitet:
Zurück