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 产生的代码中。只需复制粘贴即可。
我在我的应用程序中添加了一个文档实体。申请人实体与文件是一对多的关系,即一个申请人可以上传多份文件。我仍然无法在我的应用程序中显示此文档。我希望能够在用户单击文档的 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 产生的代码中。只需复制粘贴即可。