JSF bieten sehr einfache REST-get-Methode
Ist es ein Weg, um ein doGet-Methode in einer @ManagedBean
und definieren Sie eine URL, auf der sich diese Bohne reagieren wird.
Ich bin mit JSF und wollen, um eine wirklich grundlegende füttern, aber dafür muss ich reagieren auf eine get-Anfrage.
Schrieb ich es mit normalen servlets ersten, aber jetzt habe ich bemerkt, dass ich brauche Informationen von einem anderen ManagedBean
deshalb brauche ich eine @ManagedProperty
- daher JSF...
Meine Fragen:
-
Gibt es eine URLPattern Anmerkungen oder ähnliches?
-
Gibt es eine
doGet
Methode, die ähnlich wie das Servlet istdoGet
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, servlets...
Wenn Sie sich auf die JSF -Kontext, der trick wird sein, um die
FacesServlet
, um den code auszuführen. DieFacesServlet
ist verantwortlich für die Erstellung und Zerstörung der request-Kontext.Hier ist die managed bean wollen wir invoke:
Hier ist der Platzhalter anzeigen, dass wird den code auszuführen.
resty.xhtml
:Schlagen
resty.faces
sieht nicht sehr Erholsam, aber es ist trivial zu handhaben mit einem filter:Die resultierende URL sieht in etwa wie
http://host/context/rest
Diese Lösung ist ein bisschen ein hack und nur für servlet-Umgebungen. Ein besserer Ansatz könnte es sein, fügen Sie eine benutzerdefinierte
ResourceHandler
aber ich habe nicht viel Zeit damit verbracht, die Untersuchung, die Bestandteil der API.Wenn Sie möchten, eine RESTful-web-service verwenden JAX-RS (z.B. Jersey) anstelle von JSF.
Oder, wenn Sie wollen einfach nur, "ziemlich" (REST-like) URLs für JSF verwenden PrettyFaces.
ServletContext
Attribut.