我已经使用 Struts2 将操作映射到返回 String
的方法。我可以使用其他类型吗?可以使用哪些类型?
我发现使用 REST 插件的代码
// Handles /orders/{id} GET requests
public HttpHeaders show() {
model = orderManager.findOrder(id);
return new DefaultHttpHeaders("show")
.withETag(model.getUniqueStamp())
.lastModified(model.getLastModified());
}
它显示它映射到返回 HttpHeaders
的方法show
。而且这不是String
.它是如何工作的?
该框架具有不仅允许返回String
的功能。可以直接从操作方法返回Result
的实例,而不是String.
例如
public Result method() {
//todo implementation is here
}
如果需要返回多个类型,可以将返回类型设置为 Object
。
public Object method() {
Object resultCode = "success";
if (something) {
resultCode = new StrutsResultSupport();
}
return resultCode ;
}
关于 rest 方法HttpHeaders
是一个不扩展Result
的接口,所以它不应该用作结果类型。