私はあなたの助けが必要です。私は、jspファイルにデータベースからすべての画像を表示したい(そこに6つの画像がある)。なぜJSPファイルで、出力リーダーを使用しないのですか? - >私はこの特別な方法でこれを行う必要があるので、私は次のステップでCSSを使用してテーブルのスタイルを設定したいので。データベース(blob)のすべてのイメージをテーブルのjspファイルに表示
データベースのすべての画像を選択します。
public static List<Picture> displayPicture() {
List<Picture> list = new ArrayList<Picture>();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:9999/xxx", "xxx", "xxx");
String sql = "SELECT * FROM PICTURES";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
byte[] imageData = rs.getBytes("File_Data");
String imageFileName = rs.getString("File_Name");
Picture picture = new Picture();
picture.setImageData(imageData);
picture.setImageFileName(imageFileName);
list.add(picture);
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
は、今私は、JSP-ファイルにそれを送信するためのsetAttributeでこのリストを保存する:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Picture> list =null;
list = DBUtils.displayPicture();
request.setAttribute("pictureList", list);
RequestDispatcher dispatcher = request.getServletContext().getRequestDispatcher("/WEB-INF/views/pictureView.jsp");
dispatcher.forward(request, response);
そして最後にJSP-ファイル:
<table>
<c:forEach items="${pictureList}" var="picture">
<tr>
<td>${picture.imageData}</td>
</tr>
</c:forEach>
だから私はすべての画像をテーブルに表示したい。現時点では、どのようにテーブルがどのように見えるかは重要ではありません。このコードでは、私は特別な数字と文字を持つテーブルだけを取得します。私はそのバイナリコードだと思いますよね? (例:[email protected]または[B @ 3f391312])
ここで間違いはどこですか? JSPファイルのコードで私は使用する必要があります
<img src="">
または何か他のですか?これが間違いだった場合、これをどのようにコーディングすべきですか?
は君たち
各位初心者
あなたは 'base64'形式に画像データを変換することはできますか? –
これはあなたを助けるかもしれません:http://stackoverflow.com/questions/2340406/how-to-retrieve-and-display-images-from-a-database-in-a-jsp-page –
@AtaurRahmanMunna私はすでに試してみましたbase64しかし私は働いていませんでした。あなたがbase64でそれをするなら、あなたはそれをどのように解決しますか? – newbieQwer