我可以映射在支柱 2 中返回对象的操作方法吗?



我已经使用 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的接口,所以它不应该用作结果类型。

最新更新