我向我的应用程序添加了一个文档实体。申请实体与文档是一对多的关系,即一个申请者可以上传多个文档。我仍然无法在我的应用程序中显示此文档。我希望能够在用户单击文档的链接时显示该文档并下载它。 我尝试实现代码 here但结果是一个带有 404 错误的窗口(描述请求的资源不可用)。 我使用 MySQL 作为数据库。
这是我的其余代码
申请人.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>();
}
文档.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 )生成了一个应用程序。如果您选择实体的“启用上传文件附件”复选框,它会生成运行良好的一对多文档上传/下载。然后我将文档上传/下载/显示代码复制到我的 spring roo 项目中。工作得很好。 不要忘记在 pom.xml 中定义 commons-fileupload,如果您使用 PrimeFaces,则必须在 web.xml 中设置 PrimeFaces FileUpload Filter。这一切都在generjee 生成的代码中。只需复制并粘贴即可。
关于 Spring Roo : Showing and downloading a document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33828451/