Spring Roo:显示和下载文档

Spring Roo: Showing and downloading a document

我在我的应用程序中添加了一个文档实体。申请人实体与文件是一对多的关系,即一个申请人可以上传多份文件。我仍然无法在我的应用程序中显示此文档。我希望能够在用户单击文档的 link 时显示文档并下载它。 我尝试执行代码 here 但结果是 window 并出现 404 错误(说明请求的资源不可用)。 我正在使用 MySQL 作为数据库。

这是我的其余代码

Applicant.java

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class Applicant {

    /**
     */
    @NotNull
    private String name;

    /**
     */
    @NotNull
    private String phone;

    /**
     */
    private String address;

    /**
     */
    @NotNull
    private String nationality;

    /**
     */
    @NotNull
    private String email;

    /**
     */
    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Date dateOfBirth;

    /**
     */
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "applicant")
    private Set<Document> files = new HashSet<Document>();
}

Document.java

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class Document {

    private static final Log log = LogFactory.getLog(Document.class);

    @NotNull
    @Lob
    @Basic(fetch = FetchType.LAZY)
    private byte[] content;

    @Transient
    @Size(max = 100)
    private String url;

    private String filename;

    private Long size;

    @NotNull
    @Size(max = 30)
    private String name;

    @NotNull
    @Size(max = 500)
    private String description;

    private String contentType;

    /**
     */
    @ManyToOne
    @JoinColumn(name = "applicant_id")
    private Applicant applicant;
}

几周前我遇到了类似的挑战。我刚刚使用另一个代码生成器 (generjee) 生成了一个应用程序。如果您 select 实体的 "Enable upload file attachments" 复选框,它会生成运行良好的一对多文档 upload/download。然后我将文档 upload/download/show code 从它复制到我的 spring roo 项目中。工作正常。 不要忘记在 pom.xml 中定义 commons-fileupload,如果您使用 PrimeFaces,则必须在 web.xml 中设置 PrimeFaces 文件上传过滤器。这一切都在 generjee 产生的代码中。只需复制粘贴即可。