java - 我可以在 Struts 2 中映射一个返回 Object 的操作方法吗

标签 java struts2 struts2-rest-plugin

我使用 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的功能。您可以直接从操作方法返回 Result 实例,而不是 String。 例如

public Result method() {
  //todo implementation is here  
}

如果需要返回多种类型,可以将返回类型设置为Object

public Object method() {
    Object resultCode = "success";
    if (something) {
        resultCode = new StrutsResultSupport();
    }
    return resultCode ;
}

关于其余方法 HttpHeaders 是一个不扩展 Result 的接口(interface),因此不应将其用作结果类型。

关于java - 我可以在 Struts 2 中映射一个返回 Object 的操作方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35868189/

相关文章:

java - 使用 Struts 2 REST 插件的操作未映射错误

java - 使用 hibernate 将 null 保存为 id

java - 更改 struts 2 上上传文件的默认错误消息

java - 在 Java 中验证 NTLMv2 身份验证

struts2 - 如何在显示标签titlekey中映射Application resources key?

java - Struts2 - 操作名称后面的参数不适用于其他语言

java - Struts2 Rest Mapper 接管非 Rest Json 结果

java - 命名空间(和操作)应该以斜杠开头吗?

java - Json/Jackson 命名约定

java - 如何拯救bukkit中击杀数最多的玩家