我可以在 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>
我现在正试图通过 namesapce ,结果路径在类上的注释来定义它,我不知道该怎么做。请帮助:)
我试过了
@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
答案 0 :(得分:4)
正如错误所述,必须在Action中定义结果。 定义看起来像这样
@Action(value = "getImage", results = { @Result(
name = "success",
type = "stream",
params = {"contentType", "application/pdf" }) })
在示例中,您还会看到类型以及如何定义contentType。
流将由“getFileInputStream”-method:
返回public InputStream getFileInputStream() {
return fileInputStream;
}
“getContentDisposition”-Method必须在Action-class
中可用public String getContentDisposition() {
return "attachment; filename=" + getFilename() + ".pdf";
}