JSP страница не может получить данные из БД. Я использую SQL Server.
FetchNotices. java
package tom.st2.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import tom.st2.model.Notice;
public class FetchNotices {
ArrayList<Notice> nlist=new ArrayList<Notice>();
public ArrayList<Notice> getList() {
return nlist;
}
public void setList(ArrayList<Notice> nlist) {
this.nlist = nlist;
}
public String execute(){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url ="jdbc:sqlserver://localhost;database=db;";
Connection con = DriverManager.getConnection(url,"id","pw");
PreparedStatement ps=con.prepareStatement("select * from notice");
ResultSet rs=ps.executeQuery();
while(rs.next()){
Notice notice=new Notice();
System.out.println(rs.getInt(1));
notice.setNoticeindex(rs.getInt(1)); //index
System.out.println(rs.getString(2));
notice.setId(rs.getString(2)); //id
System.out.println(rs.getString(3)); //
notice.setTitle(rs.getString(3));//제목
System.out.println(rs.getString(4));
notice.setContent(rs.getString(4));
System.out.println(rs.getDate(5));
notice.setDate(rs.getDate(5));
nlist.add(notice);
}
System.out.println(nlist);
con.close();
}catch(Exception e){e.printStackTrace();}
return "success";
}
}
Я использовал System.out.println
для отладки и обнаружил, что он выбирает значения из базы данных .
Ниже приведен результат из консоли.
1
duhan
일딸라는 너무 적소
사딸라쯤 합시다
1972-11-21
2
duhan
일딸라는 너무 적소
사딸라쯤 합시다
1972-11-21
3
duhan
일딸라는 너무 적소
사딸라쯤 합시다
1972-11-21
4
duhan
일딸라는 너무 적소
사딸라쯤 합시다
1972-11-21
5
duhan
일딸라는 너무 적소
사딸라쯤 합시다
1972-11-21
6
duhan
일딸라는 너무 적소
사딸라쯤 합시다
1972-11-21
[tom.st2.model.Notice@77013a0b, tom.st2.model.Notice@3756b281, tom.st2.model.Notice@74509331, tom.st2.model.Notice@73d8192a, tom.st2.model.Notice@d77b438, tom.st2.model.Notice@fb7ddad]
список уведомлений. jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%@ taglib uri ="http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>공지사항</title>
</head>
<body>
<jsp:include page="../header.jsp"></jsp:include>
<c:set var="checkSession" scope="session" value="${session.id}"/>
<c:if test="${checkSession!=null }">
<a href="noticewrite">등록(관리자 전용)</a> |
</c:if>
<c:if test="${checkSession!=null }">
<a href="#">수정(관리자 전용)</a> |
</c:if>
<c:if test="${checkSession!=null }">
<a href="#">삭제(관리자 전용)</a>
</c:if><br><br>
<h3>공지사항</h3>
<s:iterator value="nlist">
<fieldset>
INDEX: <s:property value="noticeindex"/><br>
작성자 ID: <s:property value="id"/><br>
제목: <s:property value="title"/><br>
내용: <s:property value="content"/><br>
작성일시: <s:property value="date"/><br>
</fieldset>
</s:iterator>
</body>
</html>
Уведомление. java
package tom.st2.model;
import java.util.Date;
import tom.st2.dao.WriteDao;
public class Notice {
private int noticeindex;
private String id;
private String title;
private String content;
private Date date;
public Notice() {}
public Notice(int noticeindex, String id, String title, String content, Date date) {
this.noticeindex = noticeindex;
this.id = id;
this.title = title;
this.content = content;
this.date=date;
}
public int getNoticeindex() {
return noticeindex;
}
public void setNoticeindex(int noticeindex) {
this.noticeindex = noticeindex;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String execute() {
int i = WriteDao.save(this);
if(i>0) {return "success";}
else {return "error";}
}
}
часть распорок. xml
<action name="noticelist" class="tom.st2.dao.FetchNotices">
<result name="success">notice/noticelist.jsp</result>
</action>
Я не могу понять, почему он не может получить данные. Мне становится сложнее найти причину, потому что сообщения об ошибках нет.
Буду признателен за любой совет.