Wie kann ich einen 404 / 50x-Statuscode von einem Grails-Controller zurückgeben?
Ich einen controller braucht, um wieder eine 404-Seite und status-code auf bestimmten Bedingungen. Ich kann nicht scheinen, um herauszufinden, wie dies zu tun in Grails. Ein Mitarbeiter empfohlen diese Methode:
response.sendError(HttpServletResponse.SC_NOT_FOUND)
funktioniert perfekt in Ordnung, aber es ist nicht sehr Grails-wie. Ich weiß Schiene "render-Methode nehmen Sie eine status-argument, aber Grails' render hat keine solche Funktionalität. Gibt es etwas, was fehlt mir, was ist der beste Weg, dies zu erreichen?
InformationsquelleAutor der Frage Jack Chu | 2009-09-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einstellung der Antwort-status mit eigener Aussage gut genug ist. Es sieht nicht allzu hässlich aus und ist ziemlich einfach:
Ich habe diese verwendet werden, erfolgreich mich und habe andere gesehen, die es so machen zu. Da es nur einen setter, können Sie auch anderes zu tun nach der Einstellung des status. Welchen status Sie einstellen Letzte sein wird, was die HttpServletResponse verwendet wird, wenn es wirklich sendet die Antwort zurück an den client.
InformationsquelleAutor der Antwort Rob Hruska
response.sendError(404)
wird die Arbeit mit GrailsUrlMappings
in der Erwägung, dassresponse.status = 404
nicht aus irgendeinem Grund. Dies ist nützlich, wenn Sie Rendern möchten, eine benutzerdefinierte 404-Fehlerseite, im Gegensatz zu nur senden 404 an den browser zurück.InformationsquelleAutor der Antwort Thody
Ich weiß nicht, welche version dieses startete, aber in Grails 2.2.1 die Sie tun können:
http://grails.org/doc/2.2.1/ref/Controllers/render.html
InformationsquelleAutor der Antwort Alex Beardsley
response.sendError
undresponse.setStatus
sind die einzigen zwei Möglichkeiten die ich kenne. Wenn Siestatic import HttpServletResponse
, dann ist es nicht so, dass "un-grails-wie'.InformationsquelleAutor der Antwort leebutts