我确信这已经在其他地方得到了解答 - 但我不知道在哪里
我需要在我们的wicket网站上回复来自合作伙伴的HTTP请求.合作伙伴希望响应机构在出现错误时说"OK"或其他任何内容
这样做有"好"的方法吗?...或者我是否会被困在我的(以前)漂亮的Wicket应用程序中添加一个servlet?
您可以使用以下资源:
class OkResource implements IResource { @Override public void respond(Attributes attributes) { WebResponse resp = (WebResponse) attributes.getResponse(); resp.setContentType("text/plain"); resp.write("OK"); } }
并在Application类中注册它
@Override protected void init() { super.init(); getSharedResources().add("confirm", new OkResource()); mountResource("confirm", new SharedResourceReference("confirm")); }
这样就可以通过类似的方式访问它http://host/app/confirm
.
只需注意,在这里注册一个资源实例,因此它必须是线程安全的,因为多个请求可以同时调用它.
[编辑] 在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"); }