Spring MVC 3 を使用して、画像と文字列を表示したいと考えています。どちらも、Hibernate を使用してデータベースから取得した POJO のインスタンス変数です。
@Entity
@Table(name = "document")
public class Document {
//id
@Column(name = "name")
private String name; // the String
@Basic(fetch = FetchType.LAZY)
@Column(name="content")
private byte [] image;
//getters setters
Spring MVC 3 を使用して.jspページに画像を表示し、その横に文字列を表示したいと考えています。現在、ストリーミングして文字列をコンソールに出力することで画像のみを表示できますが、それは私が望むものではありません。(もちろん、文字列を表示できますが、文字列を表示すると画像を表示できません。)両方を同じページに並べて表示したい。
@RequestMapping(value = "/displayDocument", method = RequestMethod.POST)
public void displayDocument(@RequestParam("documentId") String documentId, HttpServletResponse response) {
Document doc = documentService.get(Long.valueOf(documentId));
System.out.println(doc.getName());
if (doc.getImage() != null) {
response.setContentType("image/jpg");
try {
response.getOutputStream().write(doc.getImage());
response.getOutputStream().flush();
response.getOutputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
これを達成するための巧妙な解決策がないと信じたくありません....