VRaptor 3 - 404

5 respostas
galmeida

Alguém sabe me dizer se existe um mecanismo para forçar um 404 de dentro de um controller?

obrigado,
galmeida

5 Respostas

Paulo_Silveira

oi galmeida

creio que tem mesmo de injetar HttpServletResponse pelo construtor e enviar o codigo de resposta…

galmeida

Boa! Eu ainda nao me acostumei com a possibilidade de injetar quase qquer coisa que eu queira, rs

valeu!

sergiolopes

No site da Caelum criamos uma implementação de View que faz justo isso:

@Component
public class HTTPStatusCodeView implements View {

	// static import friendly
	public static Class<HTTPStatusCodeView> http() {
		return HTTPStatusCodeView.class;
	}

	private final HttpServletResponse response;

	public HTTPStatusCodeView(HttpServletResponse response) {
		this.response = response;
	}

	public void sendStatusCode(int statusCode) {
		try {
			response.sendError(statusCode);
		} catch (IOException e) {
			throw new ResultException(e);
		}
	}

	public void notFound() {
		sendStatusCode(404);
	}	
}

Aí você pode usar no controller (com o devido import estatico):

ou:

[]'s

Paulo_Silveira

oi sergio

nao era legal essa classe entrar pro vraptor3-core?

sergiolopes

pode ser uma boa sim, vou enviar o patch

Criado 4 de setembro de 2009
Ultima resposta 8 de set. de 2009
Respostas 5
Participantes 3