java - 如何使用图像结果定义 Action 的注释?

标签 java struts2 annotations

我可以在 struts.xml 配置中定义它。

<action name="getImage" class="my.action.GetImageAction">
      <result name="success" type="stream">  
          <param name="contentType">image/jpeg</param>  
          <param name="inputName">imageStream</param>  
          <param name="bufferSize">1024</param>  
      </result>  
</action>

我现在正尝试通过在类上使用 namesapceresult path 进行注释来定义它,但我不知道该怎么做。请帮助:)

我试过了

@Namespace("/my/namespace")
@ResultPath("/")
@Result(name = "success", type = "imageResult")
public class GetImageAction extends ActionSupport {
.....
@Override
@Action("/getImage")
public String execute() throws Exception {
.....

我得到了一个错误

HTTP Status 404 - No result defined for action 

最佳答案

正如错误所说,结果必须在操作中定义。 定义看起来像这样

@Action(value = "getImage", results = { @Result(
        name = "success", 
        type = "stream", 
        params = {"contentType", "application/pdf" }) })

在示例中,您也看到了类型以及如何定义 contentType。

流将由“getFileInputStream”方法返回:

public InputStream getFileInputStream() {

            return fileInputStream;
    }

“getContentDisposition”方法必须在 Action 类中可用

public String getContentDisposition() {
    return "attachment; filename=" + getFilename() + ".pdf";
}

关于java - 如何使用图像结果定义 Action 的注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13390380/

相关文章:

java - Kafka 消费者 - 在反序列化之前读取消息头

java - 处理JSP页面时出现异常,line指向startsWith()方法

java - 在 selenium Ghost 驱动程序中嵌入用于解析和单击网页的 javascript

java - 使用OGNL自定义struts2 textfield标签的值

java - 在处理器生成的类中使用库

java - 为什么我不能通过简单地排序序列来解决最长递增子序列?

java - Struts2:获取用户来自的Url

java - struts2不加载资源文件

java - Javax 和 Hibernate 验证是否暗示 NotNull?

java - 如何爬上 TypeMirror 对象的层次结构树?