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