본문 바로가기
교육/Java&Spring

kosta 클라우드 네이티브 애플리케이션 개발 과정 day 31

by Renechoi 2023. 2. 4.

kosta 클라우드 네이티브 애플리케이션 개발 과정 day 31

 


투표 프로그램을 만들어보자 

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page import="ch16.*,java.util.Vector"%>
<jsp:useBean id="pMgr" class="ch16.PollMgr" />
<html>
<head>
<title>JSP Poll</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFCC">
   <div align="center">
      <br/>
      <h2>투표프로그램</h2>
      <hr width="600"/>
      <b>설문폼</b>
      <!--폴 리스트 폼 자리-->
      <jsp:include page="pollForm.jsp" />
      <hr width="600"/>
      <b>설문리스트</b>
      <!--폴 리스트 테이블 자리-->
      <table>
         <tr>
            <td>
               <table width="500" border="1">
                  <tr>
                     <td align="center"><b>번호</b></td>
                     <td><b>제목</b></td>
                     <td><b>시작일~종료일</b></td>
                  </tr>
                  <%
                       Vector<PollListBean> vlist = pMgr.getAllList();

                       int count = vlist.size();
                       for (int i = 0; i < vlist.size(); i++) {
                        PollListBean plBean = vlist.get(i);
                        int num = plBean.getNum();
                        String question = plBean.getQuestion();
                        String sdate = plBean.getSdate();
                        String edate = plBean.getEdate();

                        out.println("  <tr><td align='center'>" + count + "</td>");
                        out.println("<td><a href='pollList.jsp?num=" + num + "'>"
                              + question + "</a></td>");
                        out.println("<td>" + sdate +" ~ "+ edate + "</td></tr>");
                        count = count - 1;
                     }
                  %>
               </table>
            </td>
         </tr>
         <tr>
            <td align="right"><a href="pollInsert.jsp">설문 작성하기</a></td>
         </tr>
      </table>
   </div>
</body>
</html>

 

 

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page import="ch16.*,java.util.*"%>
<jsp:useBean id="pMgr" class="ch16.PollMgr" />
<%
   request.setCharacterEncoding("UTF-8");
   int num = 0;
   if (request.getParameter("num") != null) {
      num = Integer.parseInt(request.getParameter("num"));
   }
   int sum = pMgr.sumCount(num);
   Vector<PollItemBean> vlist = pMgr.getView(num);
   PollListBean plBean = pMgr.getList(num);
   String question = plBean.getQuestion();
   Random r = new Random();
%>
<html>
<head>
<title>JSP Poll</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body bgcolor="#FFFFCC">
   <div align="center">
      <table border="1" width="400">
         <tr>
            <td colspan="4"><b>Q : <%=question%></b></td>
         </tr>
         <tr>
            <td colspan="3"><b>총 투표자 : <%=sum%>명</b></td>
            <td width="40">count</td>
         </tr>
         <%
            for (int i = 0; i < vlist.size(); i++) {
               PollItemBean piBean = vlist.get(i);
               String[] item = piBean.getItem();//아이템 ex)김태희
               int rgb = r.nextInt(255 * 255 * 255);
               String rgbt = Integer.toHexString(rgb);
               String hRGB = "#" + rgbt;
               int count = piBean.getCount();//투표수
               int ratio = (new Double(Math.ceil((double) count / sum * 100))).intValue();
         %>
         <tr>
            <td width="20" align="center"><%=i+1%></td>
            <td width="120"><%=item[0]%></td>
            <td>
               <table width="<%=ratio%>" height="15">
                  <tr>
                     <td bgcolor="<%=hRGB%>"></td>
                  </tr>
               </table>
            </td>
            <td width="40"><%=count%></td>
         </tr>
         <%} //for%>
      </table>
      <p />
      <a href="javascript:window.close()">닫기</a>
   </div>
</body>
</html>

 

 

 

전체 화면 합치기 

 

<%@ page contentType="text/html; charset=UTF-8" %>
<%
      String strTitle = "JSP Home";
     String cPath = request.getContextPath();
%>
<html>
<head>
<title><%=strTitle%></title>
</head>
<frameset frameborder="0" framespacing="0" border="5" rows="130,*" >
   <frame  frameborder="1" scrolling="NO" noresize name="head" src="<%=cPath%>/ch17/head.jsp">
   
  <frameset name="body" frameborder="5" framespacing="0" border="0" rows="*,20"> <!-- 240,* -->       
    <frameset name="main" frameborder="5" framespacing="0" border="0" cols="240,*"> <!-- *,0,37,12 -->
         <frame name="left" marginwidth="0" marginheight="0" frameborder="5" scrolling="NO" resize="NO" src="<%=cPath%>/ch17/left.jsp">
         <frame name="content" src="<%=cPath%>/ch17/main.jsp" scrolling="YES" marginwidth="0" marginheight="0" frameborder="5" noresize>
    </frameset>
      <frame name="copy" src="<%=cPath%>/ch17/copy.jsp" scrolling="NO" marginwidth="0" marginheight="0" frameborder="0" noresize>        
   </frameset>
</frameset>
</html>

 

 

framset은 이제 쓰지 않는다... 


 

jstl 기본 문법 

 

 

 

el 기본 문법 

 

<%@ page contentType="text/html; charset=UTF-8" %>
<%
    request.setAttribute("siteName", "JSPStudy.co.kr");
%>
<html>
<head>
<title>Expression Language</title>
</head>
<body>
<h2>EL의 기본문법1</h2>
사이트명 : <b>${siteName}</b>

</body>
</html>

 

 

 

el의 내장객체들 

pageScope

requestScope

sessionScope

applicationScope

param

paramValues

header

cookie 

 

 

scope를 통해 전달하기 

<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>Expression Language</title>
</head>
<body>
<h2>EL의 Scope1</h2>
<%
   int sum = 0;
   for(int i = 1 ; i <= 10 ; i++){ 
      sum += i;
   }
   request.setAttribute("sum", new Integer(sum));
%>
<jsp:forward page="scope2.jsp"/>
</body>
</html>
<%@ page contentType="text/html; charset=UTF-8" %>
<%
    pageContext.setAttribute("msg", "꿈은 이루어 진다.");
%>
<html>
<head>
<title>Expression Language</title>
</head>
<body>
<h2>EL의 Scope1</h2>
msg(pageScope로 받은값) :  <b>${pageScope.msg}</b><p/>
1에서 10까지 합(request로 받은값) : <b><%=request.getAttribute("sum") %></b><p/>
1에서 10까지 합(requestScope로 받은값) : <b>${requestScope.sum}</b><p/>
</body>
</html>

 

setAttribute 할 때 객체 타입을 받기 때문에 new Integer를 통해 객체화 한다. 

 

 

 

반응형