프로그래밍 언어/자바 웹

학점 변환기 예제

· 코딩마이데이

1. 다음과 같이 scoreTest.jsp를 작성합니다. 학점으로 변환할 시험 점수를 입력한 후 scoreResult.jsp를 전송합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<title>시험 점수 입력 페이지</title>
</head>
<body>
	<h1>시험 점수를 입력해 주세요</h1>
	<form method=get action="scoreResult1.jsp">
		시험점수 : <input type=text name="score" /><br>
		<input type="submit" value="학점변환">
	</form>
</body>
</html>

 

2. 다음과 같이 scoreResult1.jsp를 작성합니다. 조건이 여러 개이르로 이번에는 <c:choose> 태그의 <c:when> 태그에 설정하여 학점을 변환합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
  request.setCharacterEncoding("UTF-8");
%>   

<html>
<head>
<meta charset=”UTF-8">
   <title>학점 변환 결과</title>
</head>
<body>
   <c:set var="score" value="${param.score }" />
   <h1>시험점수  <c:out  value="${score}" /></h1><br>
   <c:choose>
      <c:when test="${score>=90 && score<100 }">
          <h1>A학점입니다.</h1>
      </c:when>    
      <c:when test="${score>=80 && score<90 }">
          <h1>B학점입니다.</h1>
      </c:when> 
      <c:when test="${score>=70 && score<80 }">
          <h1>C학점입니다.</h1>
      </c:when>
      <c:when test="${score>=60 && score<70 }">
          <h1>D학점입니다.</h1>
      </c:when>    
      <c:otherwise>	
          <h1>F학점입니다.</h1>
      </c:otherwise>    
   </c:choose>    
</body>
</html>

 

3. http:localhost:8080/pro14/test04/scoreTest.jsp로 요청하여 시험 점수 입력 페이지에서 점수를 입력하고 학점변환을 클릭합니다.

시험 점수 입력 페이지

 

4. 변환된 학점을 출력합니다.

시험 점수가 학점으로 변환

 

하지만 현재는 입력한 시험 점수가 0~100점 사이인지 유효성 검사를 하는 기능이 빠져 있으므로 학점 변환기 프로그램을 조금 수정해 보겠습니다.

 

5. 학점 변환 시 <c:choose> 태그를 이용해 시험 점수 0~100점 사이인지를 먼저 체크한 후 전송된 시험 점수가 유효 범위이면 그 다음에 학점을 변환하도록 다음과 같이 scoreResult2.jsp를 작성합니다. 만약 유효 범위를 벗어나면 새로 점수를 입력하라는 메시지를 출력합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"
    isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
  request.setCharacterEncoding("UTF-8");
%>   
  
<html>
<head>
<meta charset=”UTF-8">
<title>학점 변환 결과</title>
</head>
<body>
<c:set var="score" value="${param.score }" />
<h1>시험점수  <c:out  value="${score }" /></h1><br>
<c:choose>
   <c:when test="${score>=0 && score<=100 }">
      <c:choose>
         <c:when test="${score>=90 && score<100 }">
             <h1>A학점입니다.</h1>
         </c:when>    
         <c:when test="${score>=80 && score<90 }">
             <h1>B학점입니다.</h1>
         </c:when> 
         <c:when test="${score>=70 && score<80 }">
             <h1>C학점입니다.</h1>
         </c:when>
         <c:when test="${score>=60 && score<70 }">
             <h1>D학점입니다.</h1>
         </c:when>    
         <c:otherwise>	
             <h1>F학점입니다.</h1>
         </c:otherwise>    
      </c:choose>
   </c:when>
   <c:otherwise>
     <h1>점수를 잘못 입력했습니다. 다시입력하세요</h1>
      <a href="scoreTest.jsp">점수 입력 창으로 이동</a>
   </c:otherwise>		
</c:choose>	    
</body>
</html>

 

6. http://localhost:8080/pro14/test04/scoreTest.jsp로 다시 요청하여 정상적인 시험 점수를 입력합니다.

정상적인 시험 점수의 학점 변환

 

7. 이번에는 시험 점수의 유효 범위인 0~100을 벗어나는 값을 일부러 입력합니다. 그러면 점수를 잘못 입력했으니 다시 입력하라는 메시지를 출력합니다.

유효 범위를 벗어난 시험 점수를 입력했을 경우