* ȸ¿ø°¡ÀÔ * ¾ÆÀ̵ð/ºñ¹Ð¹øÈ£ ã±â   ID PW
Last Modified : 2008.07.10

Struts ÅÂ±× ¶óÀ̺귯¸®

Struts °Ô½ÃÆÇÀÇ list.jsp ¸¦ Struts ÅÂ±× ¶óÀ̺귯¸®¸¦ ÀÌ¿ëÇØ¼­ ¼öÁ¤ÇϰڽÀ´Ï´Ù.

before

<%
   ArrayList gulList = listForm.getGulList();
   int length = gulList.size();
   int articleNo = listForm.getArticleNo();
   for ( int i = 0; i < length; i++ )  {
      Gul gul = (Gul)gulList.get(i);	
%>
   <tr>
      <td><%=articleNo%></td>
      <td><a href="javascript:goView('<%=gul.getGulno() %>')"><%=gul.getSubject()%></a></td>
      <td><%=gul.getSigndate()%></td>
      <td><%=gul.getRef()%></td>
   </tr>
<%
      articleNo--;
   }

.. Áß°£ »ý·« ..

after

<logic:notEmpty name="listForm" property="gulList">
   <logic:iterate id="gul" name="listForm" property="gulList">
      <tr>
         <td>±Û¹ø</td>
         <td>
            <a href="javascript:goView('<bean:write name="gul" property="gulno"/>')">
            <bean:write name="gul" property="subject"/></a>
         </td>
         <td>
            <bean:write name="gul" property="signdate" />
         </td>
         <td>
            <bean:write name="gul" property="ref" />
         </td>
      </tr>
   </logic:iterate>
</logic:notEmpty>

À§ÀÇ ÅÂ±× ¶óÀ̺귯¸®¸¦ »ç¿ëÇϱâ À§Çؼ­´Â tablib Áö½Ã¾î¸¦ ÆäÀÌÁö »ó´Ü¿¡ Ãß°¡ÇØ¾ß ÇÕ´Ï´Ù.

<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>

º¯°æÇÑ ´ÙÀ½ ¸ñ·ÏÈ­¸éÀº ¾Æ·¡¿Í °°½À´Ï´Ù.

±Û¹øÀ̶ó°í ³ª¿À´Â °ÍÀº ÇÁ·Î±×·¥ÀûÀ¸·Î ±¸ÇöÇÑ ±Û¹øÈ£¸¦ ÅÂ±× ¶óÀ̺귯¸® ¾²´Â ¹æ¹ýÀÌ ¶°¿À¸£Áö ¾Ê´Â±º¿ä.
Áö±Ý ¶°¿À¸£´Â ÇØ°áÃ¥Àº ÀÌ ±Û¹øÈ£±îÁö Gul °´Ã¼ÀÇ ¸â¹ö°¡ µÇµµ·Ï ¼öÁ¤ÇÏ¸é µË´Ï´Ù.

logic:notEmpty

<logic:notEmpty name="listForm" property="gulList">
Ä÷º¼Ç¿¡¼­ ¹Ýº¹À» ¼öÇàÇϱâ Àü¿¡ Ä÷º¼ÇÀÌ ºñ¾ú´ÂÁö (¿©±â¼­´Â gulList ArrayList) ¿©ºÎ¸¦ üũÇϱâ À§ÇØ notEmpty ű׸¦ »ç¿ëÇϰí ÀÖ½À´Ï´Ù.

logic:iterate

<logic:iterate id="gul" name="listForm" property="gulList">
iterate ű״ ÁöÁ¤µÈ Ä÷º¼Ç ³»ÀÇ ¿ä¼Ò¸¦ ¹Ýº¹ÇÕ´Ï´Ù.
¿©±â¼­´Â gulList ¾È¿¡ ÀÖ´Â gul ¸¦ ¹Ýº¹Çϰí ÀÖ½À´Ï´Ù.

bean:write

<bean:write name="gul" property="gulno"/>
ÁöÁ¤µÈ ºó ÇÁ·ÎÆÛƼÀÇ °ªÀ» ²¨³» String ÇüÅ·ΠÆäÀÌÁö¿¡ Ãâ·ÂÇÕ´Ï´Ù.

bean:define

ÁöÁ¤ÇÑ ºó ÇÁ·ÎÆÛƼÀÇ °ªÀ» ²¨³» ÇöÀç ÆäÀÌÁö¿¡¼­ ¾î´À °÷¿¡¼­µç Á¢±ÙÇÒ ¼ö ÀÖ´Â ¼Ó¼ºÀ¸·Î Á¤ÀÇÇÕ´Ï´Ù.
¹ÝȯµÇ´Â ÇÁ·ÎÆÛƼ °ªÀº ŸÀÔÀº Object ÀÔ´Ï´Ù.
µû¶ó¼­ ºóÀÇ ÇÁ·ÎÆÛƼ°¡ ÀÚ¹Ù ¿ø½Ã µ¥ÀÌÅÍ ÇüÀÎ °æ¿ì ÀûÀýÇÑ ·¦ÆÛ Ŭ·¡½º·Î Çü º¯È¯ÇØÁÖ¾î¾ß ÇÕ´Ï´Ù.

¾Æ·¡ list.jsp ´Â ÃÖÁ¾ÀûÀ¸·Î ÅÂ±× ¶óÀ̺귯¸®¸¦ ½á¼­ ¼öÁ¤ÇÑ °ÍÀÔ´Ï´Ù.

list.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR" 
pageEncoding="EUC-KR"%>
<%@ page import="java.util.*" %>
<%@ page import="net.java_school.util.Log" %>
<%@ page import="com.dadam.board.*" %>
<%@ page import="com.dadam.form.*" %>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>

<bean:define id="articleNo" name="listForm" property="articleNo" />
<bean:define id="board" name="listForm" property="board" />
<bean:define id="curPage" name="listForm" property="curPage" />

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitonal.dtd">
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR" />

<title>Struts °Ô½ÃÆÇ ¸ñ·Ï</title>
<script language="javascript">

   function goWrite() {
      var form = document.getElementById("frmWrite");
      form.submit();
   }

   function goView(number) {
      var form = document.getElementById("frmView");
      var gulno = document.forms.frmView.elements[0];
      gulno.value = number;
      form.submit();
   }

   function goList(cpage) {
      var form = document.getElementById("frmList");
      form.curPage.value = cpage;
      form.submit();
   }

</script>
</head>
<body>
   <table border="1">
   <tr>
      <th>No</th>
      <th>Á¦¸ñ</th>
      <th>µî·ÏÀÏ</th>
      <th>Á¶È¸</th>
   </tr>
   <logic:notEmpty name="listForm" property="gulList">
   <% int i = ((Integer)articleNo).intValue(); %>
   <logic:iterate id="gul" name="listForm" property="gulList">
   <tr>
      <td><%=i %></td>
      <td>
         <a href="javascript:goView('<bean:write name="gul" property="gulno"/>')">
         <bean:write name="gul" property="subject"/></a>
      </td>
      <td>
         <bean:write name="gul" property="signdate" />
      </td>
      <td>
         <bean:write name="gul" property="ref" />
      </td>
   </tr>
   <% i--; %>	
   </logic:iterate>
   </logic:notEmpty>
   </table>
   <p>
      <input type="button" value="»õ±Û" onclick="javascript:goWrite('<%=board %>')" />
   </p>

   <jsp:include page="pager.jsp" flush="true" />

   <div id="form-grp">
      <form id="frmList" name="frmList" action="list.do" method="post">
         
         <html:hidden name="listForm" property="board" />
         <html:hidden name="listForm" property="curPage" />
         
      </form>
      <form id="frmView" name="frmView" action="view.do" method="post">
         <input type="hidden" name="gulValue.gulno" />
         <input type="hidden" name="gulValue.bcode" value="<%=board %>" />
         <input type="hidden" name="curPage" value="<%=curPage %>" />
      </form>
      <form id="frmWrite" name="frmWrite" action="write_form.do" method="post">
         <input type="hidden" name="gulValue.bcode" value="<%=board %>" />
         <input type="hidden" name="curPage" value="<%=curPage %>" />
      </form>
   </div>
</body>
</html>

pager.jsp

<%@ page language="java" contentType="text/html; charset=EUC-KR" 
   pageEncoding="EUC-KR"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>

<bean:define id="Prev" name="listForm" property="prev" />
<bean:define id="Next" name="listForm" property="next" />
<bean:define id="FirstPage" name="listForm" property="firstPage" />
<bean:define id="LastPage" name="listForm" property="lastPage" />

<%
   
   int prev = ((Integer)Prev).intValue();
   int next = ((Integer)Next).intValue();
   int firstPage = ((Integer)FirstPage).intValue();
   int lastPage = ((Integer)LastPage).intValue();
   
   if ( prev != 0 ) {
%>
   <p>	
   <a href="javascript:goList('<%=prev %>')">[ÀÌÀü]</a>
<%
   }
   for ( int i = firstPage; i <= lastPage; i++ ) {  
%>	
   <a href="javascript:goList('<%=i%>')">[<%=i%>]</a>
<%
   }
   if ( next != 0 ) {
%>   	
   <a href="javascript:goList('<%=next %>')">[´ÙÀ½]</a>
<%
   }
%>	
</p>

Á»´õ ¿å½ÉÀ» ³»º¸¸é, No,Á¦¸ñ,µî·ÏÀÏ,Á¶È¸,»õ±Û,´ÙÀ½,ÀÌÀü °°Àº ÆäÀÌÁö¿¡ ¾²ÀÌ´Â ¸Þ½ÃÁö¸¦ MessageResources ¿¡ ´ã¾Æ¼­ ±¸ÇöÇÏ¸é ´õ ÁÁÀº Äڵ尡 µÉ °ÍÀÔ´Ï´Ù.