728x90
반응형
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%--src/main/webapp/test0426/board2.jsp --%>
<%--
jstl을 이용하여 db 연결하기
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<fmt:requestEncoding value="UTF-8" /> <%-- 파라미터 인코딩 --%>
<%--
jstl 이용하여 db 연결
dataSource : db에 연결해주는 Connection 객체
--%>
<sql:setDataSource var="conn" driver="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:xe"
user="kic" password="1234" />
<%-- re 변수 : select 구문의 처리 결과 값 저장 --%>
<sql:query var="rs" dataSource="${conn}">
select * from board where ${param.column} like ?
<sql:param>%${param.find}%</sql:param> <%-- sql구문의 ?에 해당하는 파라미터 값 설정 --%>
</sql:query>
<table border="1" style="border-collapse: collapse;">
<tr>
<th>번호</th>
<th>글쓴이</th>
<th>제목</th>
<th>내용</th>
<th>등록일</th>
<th>조회수</th>
</tr>
<%--
rs.rows : 조회된 레코드들
data : 조회된 레코드 한개
data.num : 레코드에서 컬럼의 이름이 name인 값
--%>
<c:forEach var="data" items="${rs.rows}">
<tr>
<td>${data.num}</td>
<td>${data.writer}</td>
<td>${data.subject}</td>
<td><c:out value="${data.content}" /></td>
<td><fmt:formatDate value="${data.regdate}" pattern="yyyy-MM-dd HH:mm:ss E" /></td>
<td>${data.readcnt}</td>
</tr>
</c:forEach>
</table>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ajax을 이용한 게시물 검색</title>
<link rel="stylesheet" href="main.css" >
<script type="text/javascript" src="../ajax/ajax.js"></script>
<script type="text/javascript">
function loadBoard(f){
var params =
"column=" + f.column.value + "&find=" + f.find.value;
sendRequest("board2.jsp",params, boardList,"POST"); //서버로 전송
}
function boardList() { //콜백함수
if(ajax.readyState == 4) {
if(ajax.status == 200) {
//responseText : 서버에서 전송해준 내용
list.innerHTML = ajax.responseText;
} else {
alert("서버 오류:" + ajax.status + "=" + ajax.statusText);
}
}
}
</script>
</head>
<body>
<form name="f">
<select name="column">
<option value="writer">글쓴이</option>
<option value="subject">제목</option>
<option value="content">내용</option>
</select>
<input type="text" name="find">
<input type="button" value="검색" onclick="loadBoard(this.form)">
</form>
<div id="list"></div>
</body>
</html>
728x90
반응형
'study > Ajax' 카테고리의 다른 글
[Ajax] 23. jquery를 이용한 Ajax연습 (0) | 2022.04.27 |
---|---|
[Ajax] 22. Ajax로 xml 예제1 (0) | 2022.04.27 |
[Ajax] 22. Ajax로 xml, json 분석하기 (0) | 2022.04.27 |
[Ajax] 22. Ajax을 이용한 게시물검색1 (0) | 2022.04.27 |
[Ajax] 22. Ajax (0) | 2022.04.26 |