조민수 조민수 03-27
보안관리 > 법규정관리 API 토큰값 변경
@66790bb76d29e15c8d1328d536b9d17ea42d6d39
src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java
--- src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java
+++ src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java
@@ -10,6 +10,7 @@
 import java.io.PrintWriter;
 import java.net.URLEncoder;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -106,7 +107,7 @@
 		String browser = getBrowser(request);
 
 		String dispositionPrefix = "attachment; filename=";
-		String encodedFilename = null;
+		String encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20");
 
 		if (browser.equals("MSIE")) {
 			encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20");
@@ -132,7 +133,8 @@
 			throw new IOException("Not supported browser");
 		}
 
-		response.setHeader("Content-Disposition", dispositionPrefix + encodedFilename);
+		response.setHeader("Content-Disposition",
+				"attachment; filename=\"" + encodedFilename + "\"; filename*=UTF-8''" + encodedFilename);
 
 		if ("Opera".equals(browser)) {
 			response.setContentType("application/octet-stream;charset=UTF-8");
@@ -738,134 +740,71 @@
 	
 	/* 파일 다운로드 - 일괄 zip 압축(사업관리)*/
 	@RequestMapping(value = "/cmm/fms/bizFileDownZip.do")
-	public void bizFileDownZip(@RequestParam Map<String, Object> commandMap, @ModelAttribute("bizCntrtVO") BizCntrtVO bizCntrtVO,
-			BizItemVO bizItemVO,
-			HttpServletRequest request, HttpServletResponse response) throws Exception {
-		
-		//파일ID를 리스트에 담기
-		List<String> atchFileIdList = new ArrayList<String>();
-		//split을 이용해 아이디를 각자 배열에 담기
-		String[] splitStr =bizItemVO.getAtchFileId().split(",");
-		//리스트에 아이디 담기
-		for(int i=0; i<splitStr.length; i++) {
-			atchFileIdList.add(splitStr[i]);
-		}
-		
-		//zip파일 이름 (메뉴명+글 제목명 +날짜)
-		String menuNm = "사업관리";
-		String orgnZipNm = menuNm+"_"+bizCntrtVO.getBizNm()+"_"+bizCntrtVO.getFrstRegistPnttm()+".zip"; // 압축 파일명 필요..
-		
-		
-		FileVO fileVO = new FileVO();
-		fileVO.setAtchFileIdList(atchFileIdList);
-		List<FileVO> fvoList = fileService.selectBizFileInfs(fileVO); // 해당 기능에 맞게 파일 조회
-		
-		if(fvoList.size() == 0){
-			response.setContentType("application/x-msdownload");
-			PrintWriter printwriter = response.getWriter();
-			printwriter.println("<html>");
-			printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>");
-			printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
-			printwriter.println("<br><br><br>&copy; webAccess");
-			printwriter.println("</html>");
-			printwriter.flush();
-			printwriter.close();
-			return ;
-		}
-		
-		
-		// buffer size
-        int size = 1024;
-        byte[] buf = new byte[size];
-        
-        String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm;
-        FileInputStream fis = null;
-        ZipArchiveOutputStream zos = null;
-        BufferedInputStream bis = null;
-         
-        try {
-            // Zip 파일생성
-            zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm)));
-            
-            for ( FileVO vo :  fvoList ){
-                zos.setEncoding("UTF-8");
-                 
-                //buffer에 해당파일의 stream을 입력한다.
-                fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm());
-                bis = new BufferedInputStream(fis,size);
-                 
-                //zip에 넣을 다음 entry 를 가져온다.
-                zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm()));
-                 
-                //준비된 버퍼에서 집출력스트림으로 write 한다.
-                int len;
-                while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len);
-                 
-                bis.close();
-                fis.close();
-                zos.closeArchiveEntry();
-            }
-            
-            zos.close();
- 
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        }finally{
-            if( zos != null ) zos.close();
-            if( fis != null ) fis.close();
-            if( bis != null ) bis.close();
-        }
-        
-		File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm);
-		long fSize = uFile.length();
-		
-		if (fSize > 0) {
-			String mimetype = "application/x-msdownload";
-			
-			response.setContentType(mimetype);
-			setDisposition(orgnZipNm, request, response);
-			//response.setContentLength(fSize);
-			
-			BufferedInputStream in = null;
-			BufferedOutputStream out = null;
-			
-			try {
-				in = new BufferedInputStream(new FileInputStream(uFile));
-				out = new BufferedOutputStream(response.getOutputStream());
-				
-				FileCopyUtils.copy(in, out);
-				out.flush();
-			} catch (Exception ex) {
-				LOGGER.debug("IGNORED: {}", ex.getMessage());
-			} finally {
-				if (in != null) {
-					try {
-						in.close();
-					} catch (Exception ignore) {
-						LOGGER.debug("IGNORED: {}", ignore.getMessage());
-					}
-				}
-				if (out != null) {
-					try {
-						out.close();
-					} catch (Exception ignore) {
-						LOGGER.debug("IGNORED: {}", ignore.getMessage());
-					}
+	public void bizFileDownZip(@RequestParam Map<String, Object> commandMap,
+							   @ModelAttribute("bizCntrtVO") BizCntrtVO bizCntrtVO,
+							   BizItemVO bizItemVO,
+							   HttpServletRequest request,
+							   HttpServletResponse response) throws Exception {
+		List<String> atchFileIdList = new ArrayList<>();
+
+		if (bizItemVO.getAtchFileId() != null && !bizItemVO.getAtchFileId().trim().isEmpty()) {
+			String[] splitStr = bizItemVO.getAtchFileId().split(",");
+			for (String id : splitStr) {
+				if (id != null && !id.trim().isEmpty()) {
+					atchFileIdList.add(id.trim());
 				}
 			}
-			//파일 다운로드 후 파일 삭제
-			File delFile = new File(outZipNm);
-			delFile.delete();
-		} else {
-			response.setContentType("application/x-msdownload");
-			PrintWriter printwriter = response.getWriter();
-			printwriter.println("<html>");
-			printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>");
-			printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
-			printwriter.println("<br><br><br>&copy; webAccess");
-			printwriter.println("</html>");
-			printwriter.flush();
-			printwriter.close();
+		}
+
+		FileVO fileVO = new FileVO();
+		fileVO.setAtchFileIdList(!atchFileIdList.isEmpty() ? atchFileIdList : null);
+
+		List<FileVO> fvoList = fileService.selectBizFileInfs(fileVO);
+
+		if (fvoList == null || fvoList.isEmpty()) {
+			response.sendError(HttpServletResponse.SC_NOT_FOUND, "파일이 존재하지 않습니다.");
+			return;
+		}
+
+		String menuNm = "사업관리";
+		String orgnZipNm = menuNm + "_"
+				+ bizCntrtVO.getBizNm() + "_"
+				+ bizCntrtVO.getFrstRegistPnttm() + ".zip";
+
+		response.reset();
+		response.setContentType("application/zip");
+
+		String encodedFileName = URLEncoder.encode(orgnZipNm, "UTF-8").replaceAll("\\+", "%20");
+
+		response.setHeader("Content-Disposition",
+				"attachment; filename=\"" + encodedFileName + "\"; filename*=UTF-8''" + encodedFileName);
+
+		byte[] buffer = new byte[1024];
+
+		try (ZipArchiveOutputStream zos = new ZipArchiveOutputStream(response.getOutputStream())) {
+
+			zos.setEncoding("UTF-8");
+
+			for (FileVO vo : fvoList) {
+
+				File file = new File(vo.getFileStreCours(), vo.getStreFileNm());
+
+				if (!file.exists()) continue;
+
+				try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file))) {
+
+					zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm()));
+
+					int len;
+					while ((len = bis.read(buffer)) != -1) {
+						zos.write(buffer, 0, len);
+					}
+
+					zos.closeArchiveEntry();
+				}
+			}
+
+			zos.finish();
 		}
 	}
 	
src/main/java/egovframework/let/itsm/security/service/RuleVO.java
--- src/main/java/egovframework/let/itsm/security/service/RuleVO.java
+++ src/main/java/egovframework/let/itsm/security/service/RuleVO.java
@@ -88,5 +88,5 @@
 	public void setRuleDetailUrl(String ruleDetailUrl) {
 		this.ruleDetailUrl = ruleDetailUrl;
 	}
-	
+
 }
src/main/java/egovframework/let/itsm/security/web/RuleManageController.java
--- src/main/java/egovframework/let/itsm/security/web/RuleManageController.java
+++ src/main/java/egovframework/let/itsm/security/web/RuleManageController.java
@@ -6,6 +6,7 @@
 import java.util.Properties;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
@@ -28,141 +29,134 @@
 @Controller
 public class RuleManageController {
 
-	@Resource(name="globalsProperties")
-	private Properties globalsProperties;
-	
-	
-	private static String getTagValue(String tag, Element eElement){
-		NodeList nlList = eElement.getElementsByTagName(tag).item(0).getChildNodes();
-		Node nValue = (Node) nlList.item(0);
-		if(nValue == null)
-			return null;
-		
-		return nValue.getNodeValue();
-	}
-	
-	//규정 리스트
-	@RequestMapping(value="/uss/itsm/security/selectRuleList.do")
-	public String selectRuleList(@ModelAttribute("searchVO") ComDefaultVO searchVO
-			, @ModelAttribute("ruleVO") RuleVO ruleVO
-			, @RequestParam Map <String, Object> commandMap
-			, ModelMap model) throws Exception {
-		
-		// 검색조건 설정 --------------------------------------------------------------------------------------------
-		String ruleUrl = globalsProperties.getProperty("Globals.rule.url");
-		System.out.println("ruleUrl  : '"  + ruleUrl+"'");
-		ruleVO.setRuleUrl(ruleUrl);
-		
-		String url = ruleUrl+"/DRF/lawSearch.do?OC=wyh2010&target=law&type=XML&popYn=Y&display=10";
-		System.out.println("1 = url  : '"  + url+"'");
-		
-		
-		// 페이지
-		System.out.println("ruleVO.getPageIndex  : '" + ruleVO.getPageIndex()+"'");
-		url+="&page="+ruleVO.getPageIndex();
-		
-		// 검색어
-		if(ruleVO.getSearchKeyword() != null && ruleVO.getSearchKeyword().length() != 0 ) {
-			String keyWord =  ruleVO.getSearchKeyword();
-			System.out.println("ruleVO.getSearchKeyword  : '"  	+ keyWord+"'");
-			url+="&query="+keyWord;
-		}
-		
-		
-		// 기간 설정
-		if((ruleVO.getSearchStartDate() != null && ruleVO.getSearchStartDate().length() != 0)&&(ruleVO.getSearchEndDate() != "" && ruleVO.getSearchEndDate().length() != 0)) {
-			String startDate = ruleVO.getSearchStartDate().replaceAll("-", "");
-			String endDate = ruleVO.getSearchEndDate().replaceAll("-", "");
-			
-			System.out.println("ruleVO.getSearchStartDate  : '"  	+ startDate+"'");
-			System.out.println("ruleVO.getSearchEndDate  : '" 	 	+ endDate+"'");
-			url+="&ancYd="+startDate+"~"+endDate;
-		}
-		
-		System.out.println("url  : '"  + url+"'");
-		// 검색결과 확인 --------------------------------------------------------------------------------------------
-		// root tag 
-		DocumentBuilderFactory dbFactoty = DocumentBuilderFactory.newInstance();
-		DocumentBuilder dBuilder = dbFactoty.newDocumentBuilder();
-		Document doc = dBuilder.parse(url);
-		doc.getDocumentElement().normalize();
-		System.out.println("Root element: " + doc.getDocumentElement().getNodeName()); // Root element: LawSearch
-		
-		PaginationInfo paginationInfo = new PaginationInfo();
-		
-		paginationInfo.setCurrentPageNo(ruleVO.getPageIndex());
-		paginationInfo.setRecordCountPerPage(ruleVO.getPageUnit());
-		paginationInfo.setPageSize(ruleVO.getPageSize());
-		
-		NodeList sList = doc.getElementsByTagName("LawSearch");
-		
-		for(int temp =0; temp < sList.getLength(); temp ++) {
-			Node sNode = sList.item(temp);
-			if(sNode.getNodeType() == Node.ELEMENT_NODE) {
-				Element sElement = (Element) sNode;
-				System.out.println("#############################  temp   : " + temp);
-				System.out.println("totalCnt  : " + getTagValue("totalCnt", sElement));
-				String totalCnt = getTagValue("totalCnt", sElement);
-				paginationInfo.setTotalRecordCount(Integer.parseInt(totalCnt));
-				System.out.println("#############################");
-			}
-		}
-		
-		
-		
-		NodeList nList = doc.getElementsByTagName("law");
-		
-		List<RuleVO> ruleVOList = new ArrayList<RuleVO>();
-		
-		for(int temp =0; temp < nList.getLength(); temp ++) {
-			RuleVO tempRuleVO = new RuleVO();
-			Node nNode = nList.item(temp);
-			
-			if(nNode.getNodeType() == Node.ELEMENT_NODE) {
-				Element eElement = (Element) nNode;
-				
-				System.out.println("#############################  temp   : " + temp);
-				System.out.println("구분  : " + getTagValue("제개정구분명", eElement));
-				tempRuleVO.setRuleDivision(getTagValue("제개정구분명", eElement));
-				
-				System.out.println("공포일자  : " + getTagValue("공포일자", eElement));
-				tempRuleVO.setRuleDate(getTagValue("공포일자", eElement));
-				
-				System.out.println("공포번호  : " + getTagValue("공포번호", eElement));
-				tempRuleVO.setRuleNum(getTagValue("공포번호", eElement));
-				
-				System.out.println("법령명  : " + getTagValue("법령명한글", eElement));
-				tempRuleVO.setRuleName(getTagValue("법령명한글", eElement));
-				
-				System.out.println("법령약칭명  : " + getTagValue("법령약칭명", eElement));
-				tempRuleVO.setRuleAbbName(getTagValue("법령약칭명", eElement));
-				
-				System.out.println("법령상세링크  : " + getTagValue("법령상세링크", eElement));
-				tempRuleVO.setRuleDetailUrl(getTagValue("법령상세링크", eElement));
-				
-				System.out.println("#############################");
-				ruleVOList.add(temp, tempRuleVO);
-			}
-		}
-			
-			
-		for(int i=0; i<ruleVOList.size(); i++) {
-			System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    i  : " + i );
-			System.out.println("구분  :  i = "+ ruleVOList.get(i).getRuleDivision());
-			System.out.println("공포일자  :  i = "+ ruleVOList.get(i).getRuleDate());
-			System.out.println("공포번호  :  i = "+ ruleVOList.get(i).getRuleNum());
-			System.out.println("법령명  :  i = "+ ruleVOList.get(i).getRuleName());
-			System.out.println("법령약칭명  :  i = "+ ruleVOList.get(i).getRuleAbbName());
-			System.out.println("법령상세링크  :  i = "+ ruleVOList.get(i).getRuleDetailUrl());
-			System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
-		}
-			
-		model.addAttribute("paginationInfo", paginationInfo);
-		model.addAttribute("ruleVO", ruleVO);
-		model.addAttribute("ruleVOList", ruleVOList);
-		return "/uss/itsm/security/RuleMngList";
-	}
-	
-//	public String 
-	
+    @Resource(name = "globalsProperties")
+    private Properties globalsProperties;
+
+
+    private static String getTagValue(String tag, Element eElement) {
+        NodeList nlList = eElement.getElementsByTagName(tag).item(0).getChildNodes();
+        Node nValue = (Node) nlList.item(0);
+        if (nValue == null)
+            return null;
+
+        return nValue.getNodeValue();
+    }
+
+    //규정 리스트
+    @RequestMapping(value = "/uss/itsm/security/selectRuleList.do")
+    public String selectRuleList(@ModelAttribute("searchVO") ComDefaultVO searchVO
+            , @ModelAttribute("ruleVO") RuleVO ruleVO
+            , @RequestParam Map<String, Object> commandMap
+            , ModelMap model
+    ) throws Exception {
+
+        // 검색조건 설정 --------------------------------------------------------------------------------------------
+        String ruleUrl = globalsProperties.getProperty("Globals.rule.url");
+        ruleVO.setRuleUrl(ruleUrl);
+
+
+        String target = "law";
+
+        String url = ruleUrl + "/DRF/lawSearch.do"
+                + "?OC=itenTest1234"
+                + "&target=" + target
+                + "&type=XML"
+                + "&display=10";
+        // 페이지
+        url += "&page=" + ruleVO.getPageIndex();
+        // 검색어
+        if (ruleVO.getSearchKeyword() != null && ruleVO.getSearchKeyword().length() != 0) {
+            String keyWord = ruleVO.getSearchKeyword();
+            url += "&query=" + keyWord;
+        }
+        // 기간 설정
+        if ((ruleVO.getSearchStartDate() != null && ruleVO.getSearchStartDate().length() != 0) && (ruleVO.getSearchEndDate() != "" && ruleVO.getSearchEndDate().length() != 0)) {
+            String startDate = ruleVO.getSearchStartDate().replaceAll("-", "");
+            String endDate = ruleVO.getSearchEndDate().replaceAll("-", "");
+
+            System.out.println("ruleVO.getSearchStartDate  : '" + startDate + "'");
+            System.out.println("ruleVO.getSearchEndDate  : '" + endDate + "'");
+            url += "&ancYd=" + startDate + "~" + endDate;
+        }
+        // 검색결과 확인 --------------------------------------------------------------------------------------------
+        // root tag
+        DocumentBuilderFactory dbFactoty = DocumentBuilderFactory.newInstance();
+        DocumentBuilder dBuilder = dbFactoty.newDocumentBuilder();
+        Document doc = dBuilder.parse(url);
+        doc.getDocumentElement().normalize();
+        System.out.println("Root element: " + doc.getDocumentElement().getNodeName()); // Root element: LawSearch
+
+        PaginationInfo paginationInfo = new PaginationInfo();
+
+        paginationInfo.setCurrentPageNo(ruleVO.getPageIndex());
+        paginationInfo.setRecordCountPerPage(ruleVO.getPageUnit());
+        paginationInfo.setPageSize(ruleVO.getPageSize());
+
+        NodeList sList = doc.getElementsByTagName("LawSearch");
+
+        for (int temp = 0; temp < sList.getLength(); temp++) {
+            Node sNode = sList.item(temp);
+            if (sNode.getNodeType() == Node.ELEMENT_NODE) {
+                Element sElement = (Element) sNode;
+                System.out.println("#############################  temp   : " + temp);
+                System.out.println("totalCnt  : " + getTagValue("totalCnt", sElement));
+                String totalCnt = getTagValue("totalCnt", sElement);
+                paginationInfo.setTotalRecordCount(Integer.parseInt(totalCnt));
+                System.out.println("#############################");
+            }
+        }
+
+
+        NodeList nList = doc.getElementsByTagName("law");
+
+        List<RuleVO> ruleVOList = new ArrayList<RuleVO>();
+
+        for (int temp = 0; temp < nList.getLength(); temp++) {
+            RuleVO tempRuleVO = new RuleVO();
+            Node nNode = nList.item(temp);
+
+            if (nNode.getNodeType() == Node.ELEMENT_NODE) {
+                Element eElement = (Element) nNode;
+
+                System.out.println("#############################  temp   : " + temp);
+                System.out.println("구분  : " + getTagValue("제개정구분명", eElement));
+                tempRuleVO.setRuleDivision(getTagValue("제개정구분명", eElement));
+
+                System.out.println("공포일자  : " + getTagValue("공포일자", eElement));
+                tempRuleVO.setRuleDate(getTagValue("공포일자", eElement));
+
+                System.out.println("공포번호  : " + getTagValue("공포번호", eElement));
+                tempRuleVO.setRuleNum(getTagValue("공포번호", eElement));
+
+                System.out.println("법령명  : " + getTagValue("법령명한글", eElement));
+                tempRuleVO.setRuleName(getTagValue("법령명한글", eElement));
+
+                System.out.println("법령약칭명  : " + getTagValue("법령약칭명", eElement));
+                tempRuleVO.setRuleAbbName(getTagValue("법령약칭명", eElement));
+
+                System.out.println("법령상세링크  : " + getTagValue("법령상세링크", eElement));
+                tempRuleVO.setRuleDetailUrl(getTagValue("법령상세링크", eElement));
+
+                System.out.println("#############################");
+                ruleVOList.add(temp, tempRuleVO);
+            }
+        }
+
+
+        for (int i = 0; i < ruleVOList.size(); i++) {
+            System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    i  : " + i);
+            System.out.println("구분  :  i = " + ruleVOList.get(i).getRuleDivision());
+            System.out.println("공포일자  :  i = " + ruleVOList.get(i).getRuleDate());
+            System.out.println("공포번호  :  i = " + ruleVOList.get(i).getRuleNum());
+            System.out.println("법령명  :  i = " + ruleVOList.get(i).getRuleName());
+            System.out.println("법령약칭명  :  i = " + ruleVOList.get(i).getRuleAbbName());
+            System.out.println("법령상세링크  :  i = " + ruleVOList.get(i).getRuleDetailUrl());
+            System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
+        }
+
+        model.addAttribute("paginationInfo", paginationInfo);
+        model.addAttribute("ruleVO", ruleVO);
+        model.addAttribute("ruleVOList", ruleVOList);
+        return "/uss/itsm/security/RuleMngList";
+    }
 }
src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtView.jsp
--- src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtView.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtView.jsp
@@ -607,10 +607,9 @@
 		var frm = document.writeForm
 		window.opener.name="parentPage";
 		frm.target = "parentPage";
-		frm.action="/cmm/fms/bizFileDownZip.do?atchFileId="+checkboxId;
+		frm.action="/cmm/fms/bizFileDownZip.do?";
 		frm.submit();
-		
-		}
+	}
 
 /* 감사기간 validate */
 function validateDate(neceFlag){
src/main/webapp/WEB-INF/jsp/uss/itsm/security/RuleMngList.jsp
--- src/main/webapp/WEB-INF/jsp/uss/itsm/security/RuleMngList.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/security/RuleMngList.jsp
@@ -1,78 +1,78 @@
-<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
+<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8" %>
 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
-<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
-<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
-<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
-<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
-<%   
-	response.setHeader("Cache-Control","no-store");   
-	response.setHeader("Pragma","no-cache");   
-	response.setDateHeader("Expires",0);   
-	if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache"); 
+<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%
+    response.setHeader("Cache-Control", "no-store");
+    response.setHeader("Pragma", "no-cache");
+    response.setDateHeader("Expires", 0);
+    if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
 %>
-<c:set var="ImgUrl" value="${pageContext.request.contextPath}/images/egovframework/com/cmm/" />
-<c:set var="CssUrl" value="${pageContext.request.contextPath}/css/egovframework/com/" />
-<c:set var="JsUrl"  value="${pageContext.request.contextPath}/js/egovframework/com/uss/ion/pwm/"/>
+<c:set var="ImgUrl" value="${pageContext.request.contextPath}/images/egovframework/com/cmm/"/>
+<c:set var="CssUrl" value="${pageContext.request.contextPath}/css/egovframework/com/"/>
+<c:set var="JsUrl" value="${pageContext.request.contextPath}/js/egovframework/com/uss/ion/pwm/"/>
 <!DOCTYPE html>
 <html lang="ko">
 <head>
-	<title>보안관리</title>
-	<meta http-equiv="content-type" content="text/html; charset=utf-8">
-	<link rel="stylesheet" href="/direct/css/font.css">
-	<link rel="stylesheet" href="/direct/css/reset.css">
-	<link rel="stylesheet" href="/direct/css/index.css">
-	<link rel="stylesheet" href="/direct/css/nice-select.css">
-	<!--[if IE]>
-    <link rel="stylesheet" type="text/css" href="/direct/css/ie_popup.css" />
+    <title>보안관리</title>
+    <meta http-equiv="content-type" content="text/html; charset=utf-8">
+    <link rel="stylesheet" href="/direct/css/font.css">
+    <link rel="stylesheet" href="/direct/css/reset.css">
+    <link rel="stylesheet" href="/direct/css/index.css">
+    <link rel="stylesheet" href="/direct/css/nice-select.css">
+    <!--[if IE]>
+    <link rel="stylesheet" type="text/css" href="/direct/css/ie_popup.css"/>
     <![endif]-->
-	<script src="/direct/js/jquery-1.11.3.min.js"></script>
-	<script src="/direct/js/jquery-ui.min.js"></script>
-	<script src="/direct/js/jquery.nice-select.js"></script>
-	<script src="/direct/js/script.js"></script>
-	<script src="/direct/js/popup_open.js"></script>
-	<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js' />"></script>
-	<script>
-		$(document).ready(function() {
-			$('select').niceSelect();
-		});
-		
-		// 초기화
-		function fn_clean(){
-			$('#searchKeyword').val('');	// 검색어
-			$('#ntceBgndeYYYMMDD').val(''); // 시작일자
-			$('#ntceEnddeYYYMMDD').val('');	// 종료일자
-		}
-		
-		//검색
-		function fn_search(){
-			linkPage(1);
-		}
-		
-		// 페이지 이동
-		function linkPage(pageNo){
-			var searchForm = document.searchForm ;
-			searchForm.pageIndex.value = pageNo ;
-			searchForm.searchStartDate.value = $('#ntceBgndeYYYMMDD').val();
-			searchForm.searchEndDate.value = $('#ntceEnddeYYYMMDD').val();
-			searchForm.searchKeyword.value = $('#searchKeyword').val();
-			searchForm.submit();
-		}
-		
-		// 상세보기
-		function fn_modify(id){
-			
-			var docWidth = screen.availWidth;
-			var docHeight = screen.availHeight;
+    <script src="/direct/js/jquery-1.11.3.min.js"></script>
+    <script src="/direct/js/jquery-ui.min.js"></script>
+    <script src="/direct/js/jquery.nice-select.js"></script>
+    <script src="/direct/js/script.js"></script>
+    <script src="/direct/js/popup_open.js"></script>
+    <script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js' />"></script>
+    <script>
+        $(document).ready(function () {
+            $('select').niceSelect();
+        });
 
-			var popupX = (docWidth/2) - (1366/2);
-			var popupY = (docHeight/2) - (786/2);
-			
-			var ruleUrl = $('#ruleUrl').val(); 
-			ruleUrl = ruleUrl+id; 
-		   	window.open(ruleUrl, "gamsaViewOpener", "width=1366, height=786, left="+popupX+", top="+popupY,"toolbar=0","location=no", "directories=0", "status=0", "menubar=0");
-		}
-		
-	</script>
+        // 초기화
+        function fn_clean() {
+            $('#searchKeyword').val('');	// 검색어
+            $('#ntceBgndeYYYMMDD').val(''); // 시작일자
+            $('#ntceEnddeYYYMMDD').val('');	// 종료일자
+        }
+
+        //검색
+        function fn_search() {
+            linkPage(1);
+        }
+
+        // 페이지 이동
+        function linkPage(pageNo) {
+            var searchForm = document.searchForm;
+            searchForm.pageIndex.value = pageNo;
+            searchForm.searchStartDate.value = $('#ntceBgndeYYYMMDD').val();
+            searchForm.searchEndDate.value = $('#ntceEnddeYYYMMDD').val();
+            searchForm.searchKeyword.value = $('#searchKeyword').val();
+            searchForm.submit();
+        }
+
+        // 상세보기
+        function fn_modify(id) {
+
+            var docWidth = screen.availWidth;
+            var docHeight = screen.availHeight;
+
+            var popupX = (docWidth / 2) - (1366 / 2);
+            var popupY = (docHeight / 2) - (786 / 2);
+
+            var ruleUrl = $('#ruleUrl').val();
+            ruleUrl = ruleUrl + id;
+            window.open(ruleUrl, "gamsaViewOpener", "width=1366, height=786, left=" + popupX + ", top=" + popupY, "toolbar=0", "location=no", "directories=0", "status=0", "menubar=0");
+        }
+
+    </script>
 </head>
 
 <body>
@@ -158,108 +158,89 @@
 			</div>
 		</div>
 
-		<div class="list_tab_menu_wrap">
-			<ul class="nav list_tab_menu">
-				<li class="list_tab_menu_on"><a href="#">전체</a></li>
-				<li><a href="">법령</a></li>
-				<li><a href="">고시</a></li>
-				<li><a href="">훈령·예규</a></li>
-				<li><a href="">지침</a></li>
-				<li><a href="">조례</a></li>
-				<li><a href="">규정</a></li>
-				<li><a href="">기타</a></li>
-			</ul>
+        <div class="list_tab_menu_wrap">
+            <ul class="nav list_tab_menu">
+                <li class="list_tab_menu_on"><a href="#">전체</a></li>
+                <li><a href="">법령</a></li>
+                <li><a href="">고시</a></li>
+                <li><a href="">훈령·예규</a></li>
+                <li><a href="">지침</a></li>
+                <li><a href="">조례</a></li>
+                <li><a href="">규정</a></li>
+                <li><a href="">기타</a></li>
+            </ul>
 
-			<div class="list_info">
-				<div class="all_list_number">총 
-					<span class="all_number"><c:out value="${paginationInfo.totalRecordCount}"/></span>건
-				</div>
-			</div>
-			<div class="list_wrap business_index security_index">
-				<table>
-					<thead>
-						<tr>
-							<th>
-								<input type="checkbox" id="all_check">
-								<label for="all_check"></label>
-							</th>
-							<th>번호</th>
-							<th>구분
-								<div class="sort">
-									<div class="sort_btn"><img src="/direct/img/sort_up_img.png" alt=""></div>
-								</div>
-							</th>
-							<th>공포일자
-								<div class="sort">
-									<div class="sort_btn"><img src="/direct/img/sort_up_img.png" alt=""></div>
-								</div>
-							</th>
-							<th>공포번호
-								<div class="sort">
-									<div class="sort_btn"><img src="/direct/img/sort_up_img.png" alt=""></div>
-								</div>
-							</th>
-							<th class="legal_name">법·규정명
-								<div class="sort">
-									<div class="sort_btn"><img src="/direct/img/sort_up_img.png" alt=""></div>
-								</div>
-							</th>
-						</tr>
-					</thead>
-					<tbody>
-						<c:forEach var="ruleVOInfo" items="${ruleVOList}" varStatus="status">
-						<tr>
-							<td>
-								<input type="checkbox" id="check">
-								<label for="check"></label>
-							</td>
-							<td>
-							
-							</td>
-							<td>
-								<c:out value="${ruleVOInfo.ruleDivision}"/>
-							</td>
-							<td>
-								<c:out value="${ruleVOInfo.ruleDate}"/>
-							</td>
-							<td>
-								<c:out value="${ruleVOInfo.ruleNum}"/>
-							</td>
-							<td class="legal_name">
-								<a href="#" onclick="javascript:fn_modify('${ruleVOInfo.ruleDetailUrl}'); return false;">
-									${ruleVOInfo.ruleName}
-								</a>
-							</td>
-						</tr>
-						</c:forEach>
-					</tbody>
-				</table>
-			</div>
-			<div class="page">
-				<ul>
-<!-- 					<li class="page_prev"> -->
-<!-- 						<img src="/direct/img/page_before.png" alt=""> -->
-<!-- 					</li> -->
-<!-- 					<li>1</li> -->
-<!-- 					<li>2</li> -->
-<!-- 					<li>3</li> -->
-<!-- 					<li>4</li> -->
-<!-- 					<li class="page_next"> -->
-<!-- 						<img src="/direct/img/page_next.png" alt=""> -->
-<!-- 					</li> -->
-					<ui:pagination paginationInfo = "${paginationInfo}"  type="image" jsFunction="linkPage" />
-				</ul>
-			</div>
-		</div>
-	</div>
-	</form>
-	<form name="searchForm" method="post" action="<c:url value='/uss/itsm/security/selectRuleList.do'/>">
-		<input name="pageIndex" type="hidden" value="1" />
-		<input name="searchKeyword" type="hidden" />
-		<input name="searchStartDate" type="hidden" />
-		<input name="searchEndDate" type="hidden" />
-		<input name="pageUnit" type="hidden" value="10" />
-	</form>	
+            <div class="list_info">
+                <div class="all_list_number">총
+                    <span class="all_number"><c:out value="${paginationInfo.totalRecordCount}"/></span>건
+                </div>
+            </div>
+            <div class="list_wrap business_index security_index">
+                <table>
+                    <thead>
+                    <tr>
+                        <th>번호</th>
+                        <th>구분
+                            <div class="sort">
+                                <div class="sort_btn"><img src="/direct/img/sort_up_img.png" alt=""></div>
+                            </div>
+                        </th>
+                        <th>공포일자
+                            <div class="sort">
+                                <div class="sort_btn"><img src="/direct/img/sort_up_img.png" alt=""></div>
+                            </div>
+                        </th>
+                        <th>공포번호
+                            <div class="sort">
+                                <div class="sort_btn"><img src="/direct/img/sort_up_img.png" alt=""></div>
+                            </div>
+                        </th>
+                        <th class="legal_name">법·규정명
+                            <div class="sort">
+                                <div class="sort_btn"><img src="/direct/img/sort_up_img.png" alt=""></div>
+                            </div>
+                        </th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <c:forEach var="ruleVOInfo" items="${ruleVOList}" varStatus="status">
+                        <tr>
+                            <td><c:out value="${(searchVO.pageIndex - 1) * searchVO.pageSize + status.count}"/></td>
+                            <td>
+                                <c:out value="${ruleVOInfo.ruleDivision}"/>
+                            </td>
+                            <td>
+                                <c:out value="${ruleVOInfo.ruleDate}"/>
+                            </td>
+                            <td>
+                                <c:out value="${ruleVOInfo.ruleNum}"/>
+                            </td>
+                            <td class="legal_name">
+                                <a href="#"
+                                   onclick="javascript:fn_modify('${ruleVOInfo.ruleDetailUrl}'); return false;">
+                                        ${ruleVOInfo.ruleName}
+                                </a>
+                            </td>
+                        </tr>
+                    </c:forEach>
+                    </tbody>
+                </table>
+            </div>
+            <div class="page">
+                <ul>
+                    <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/>
+                </ul>
+            </div>
+        </div>
+    </div>
+</form>
+<form name="searchForm" method="post" action="<c:url value='/uss/itsm/security/selectRuleList.do'/>">
+    <input name="pageIndex" type="hidden" value="1"/>
+    <input name="searchKeyword" type="hidden"/>
+    <input name="searchStartDate" type="hidden"/>
+    <input name="searchEndDate" type="hidden"/>
+    <input name="pageUnit" type="hidden" value="10"/>
+</form>
 </body>
 
 </html>
(No newline at end of file)
Add a comment
List