본문 바로가기
수업 문제(국비 지원)/JSP

[JSP] 2022.10.06 (EL언어 문제 (if,choose 조건문), bookForm.jsp 동작하도록 book.jsp 구현하기 )

by byeolsub 2023. 4. 29.

test1.jsp

  •  EL언어 문제 (if,choose 조건문)
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- /jsp3/src/main/webapp/test1006/test1.jsp --%>    
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>두개의 파라미터값을 계산하기</title>
</head>
<body>
<form method="post" >
  x:<input type="text" name="x" value=""><br>
  y:<input type="text" name="y" value="">
   <input type="submit" value="더하기">
</form>
두수의 합계 : ${param.x + param.y}<br>

<h3>if 태그를 이용하여 양수,음수, 0인지 출력하기</h3>
<c:if test="${param.x + param.y > 0}">
<h4>${param.x + param.y}은 양수</h4>
</c:if>
<c:if test="${param.x + param.y < 0}">
<h4>${param.x + param.y}은 음수</h4>
</c:if>
<c:if test="${param.x + param.y == 0}">
<h4>${param.x + param.y}은 0</h4>
</c:if>

<h3>choose 태그를 이용하여 양수,음수, 0인지 출력하기</h3>
<c:choose>
	<c:when test="${param.x + param.y > 0}">
		<h4>${param.x + param.y}은 양수입니다</h4>	
	</c:when>
	<c:when test="${param.x + param.y < 0}">
		<h4>${param.x + param.y}은 음수입니다.</h4>	
	</c:when>
	<c:otherwise>
		<h4>두수의 합계는 0</h4>	
	</c:otherwise>
</c:choose>
</body>
</html>

bookForm.jsp 동작하도록 book.jsp 구현하기

문제)bookForm.jsp
 
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- /jsp3/src/main/webapp/test1006/bookForm.jsp
    book.jsp 페이지 작성하기
      - 결과에 맞도록 EL을 이용하여 화면에 출력하기
--%>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>방명록 작성</title>
<link rel="stylesheet" href="../css/main.css" >
<%
  session.setAttribute("now", new Date());
%>
</head>
<body>
<form action="book.jsp" method="post">
  <table>
     <caption><%= session.getAttribute("now") %></caption>
    <tr><td>작성자</td><td><input type="text" name="writer"></td></tr>
    <tr><td>제목</td><td><input type="text" name="title"></td></tr>
    <tr><td>내용</td><td><textarea rows="5" cols="60" name="content"></textarea>
    </td></tr>
    <tr><td colspan="2">
      <input type="submit" value="방명록조회"></td></tr>
  </table></form></body></html>
  • book.jsp
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>방명록 내용 보기</title>
<link rel="stylesheet" href="../css/main.css">
</head>
<%   request.setCharacterEncoding("utf-8");  %>
<body>
<table><caption>방명록 조회</caption>
<tr><td>작성자</td><td>${param.writer },
					<%= request.getParameter("writer")%></td></tr>
<tr><td>제목</td><td>${param.title }</td></tr>
<tr><td>내용</td><td>${param.content }</td></tr>
<tr><td>등록일</td><td>${sessionScope.now }</td></tr>
</table>
</body>
</html>

- jsp2의 book.jsp를 간단히 바꾸면 위의 jsp3 book.jsp가 된다.

<%@page import="java.text.SimpleDateFormat"%>
<%@page import="test.BookDao"%>
<%@page import="test.Book"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%-- /jsp2/src/main/webapp/est20220929/book.jsp
bookForm.jsp에서 전달해준 파라미터 값 들을 db의 book 테이블에 저장기능
1. 파라미터 값을 읽어서 Book객체에 저장.
2. Book 객체를 db에 book 테이블에 저장
3. 방명록 등록 성공 : 화면 내용 출력
4. 방명록 등록 실패 : bookForm.jsp 페이지로 이동
--%>
<%
//1. 파라미터 값을 읽어서 Book 객체에 저장
request.setCharacterEncoding("UTF-8");
Book book = new Book();
book.setWriter(request.getParameter("writer"));
book.setTitle(request.getParameter("title"));
book.setContent(request.getParameter("content"));
BookDao dao = new BookDao();
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
if(dao.insert(book)) {
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>방명록 결과 보기</title>
</head>
<body>
<table><caption> 방명록 조회</caption>
<tr><td>작성자</td></tr><%=book.getWriter() %></td>
<tr><td>제목</td></tr><%=book.getTitle() %></td>
<tr><td>내용</td></tr><%=book.getContent() %></td>
<tr><td>등록일</td></tr><%=new Date() %></td>
</table>
</body>
</html>
<% } else { %>
<script>
alert("방명록 등록 실패")
location.href = 'bookForm.jsp'
</script>
<% }%>