Wicket y responder con "no HTML" a las solicitudes

Estoy seguro de que esto ha sido respondido en otro lugar, pero no sé dónde.

Necesito responder a las solicitudes HTTP de un socio, en nuestro sitio web wicket. El socio esperaba que el cuerpo de la respuesta dijera "OK" o cualquier otra cosa en el caso de un error

¿Existe una forma "agradable" de hacer esto? ... ¿o me quedaré atascado agregando un servlet a mi (anteriormente) bonita aplicación Wicket?

preguntado el 08 de noviembre de 11 a las 17:11

1 Respuestas

Puedes usar recursos para eso:

class OkResource implements IResource {
    @Override
    public void respond(Attributes attributes) {
        WebResponse resp = (WebResponse) attributes.getResponse();
        resp.setContentType("text/plain");
        resp.write("OK");
    }
}

Y regístrelo en su clase de Aplicación

@Override
protected void init() {
    super.init();
    getSharedResources().add("confirm", new OkResource());
    mountResource("confirm", new SharedResourceReference("confirm"));
}

para que se pueda acceder a él a través de algo como http://host/app/confirm.

Solo observe que aquí está registrando una sola instancia del recurso, por lo que debe ser seguro para subprocesos, ya que múltiples solicitudes pueden llamarlo simultáneamente.

[EDITAR] En Wicket 1.4:

class OkResource extends Resource {
    @Override
    public IResourceStream getResourceStream() {
        return new StringResourceStream("ok", "text/plain");
    }
}

@Override
protected void init() {
    super.init();
    getSharedResources().add("confirm", new OkResource());
    mountSharedResource("confirm", "confirm");
}

respondido 15 nov., 11:23

¡Gracias! Lo intentaré ... ¿cuál es el equivalente de IResource en Wicket 1.4? - camarada

Resource. Además, en lugar de simplemente responder a la salida directamente, debe devolver un IResourceStream implementación que hace eso. - tetsuo

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.