메뉴 건너뛰기

조회 수 2207 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

get 으로 전송된 파라메타 쿼리문자열을 컨트롤하는 클래스 입니다.
쿼리문자열 : request.getQueryString();


Java Source : Strings.java

package xf.common;
 
/*
'// Strings
'// programmed by 최석균
'// http://www.cyworld.com/syaku
'// http://syaku.tistory.com
*/
 
import java.util.regex.*;
import java.text.*;

public class Strings {
 
  // Method get 파라메터 컨트롤러
  public static String getParameter(String parameter,String update) {
    // 파라메터를 담을 HashMap
    HashMap params = new HashMap();
    // 패턴
    String patten = "^(.*)=(.*)$";
    Pattern para_patten = Pattern.compile(patten,Pattern.MULTILINE);
   
    if (parameter != null && parameter != "") {
     
      String para = parameter.replaceAll("^\\?","");
      String para_tokens[] = para.split("&");
      int para_cnt = para_tokens.length;
      for (int i = 0; i < para_cnt; i++ ) {       
        Matcher para_matcher = para_patten.matcher(para_tokens[i]);
        String para_name = para_matcher.replaceAll("$1");
        String para_value = para_matcher.replaceAll("$2");
        params.put(para_name,para_value);
      }
    }
   
    if (update != null && !update.equals("")) {
      String new_para = update.replaceAll("^\\?","");
      String new_para_tokens[] = new_para.split("&");
      int new_para_cnt = new_para_tokens.length;
      for (int x = 0; x < new_para_cnt; x++ ) {       
        Matcher new_para_matcher = para_patten.matcher(new_para_tokens[x]);
        String new_para_name = new_para_matcher.replaceAll("$1");
        String new_para_value = new_para_matcher.replaceAll("$2");
        params.put(new_para_name,new_para_value);
      }
    }
   
    // 완성된 HashMap key 로드
    String params_ext = "";
    Iterator iter = params.keySet().iterator();
    while(iter.hasNext()){
      String addkey = (String)iter.next();
      String addvalue = (String)params.get(addkey);
      // 값이 있는 파라메터만 유효
      if (addvalue != null && !addvalue.equals("")) params_ext += addkey + "=" + params.get(addkey) + "&";     
    }
    params_ext = params_ext.replaceAll("&$","");
    return params_ext;
  }
}


Example Source


<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>

<%@ page import="xf.common.*" %>

<%
// String parameter = request.getQueryString();
String parameter = "chn=syaku&mode=blog&search=&page=1";

// 현 파라메터 정보
out.println(parameter + "<br />");
// 결과 : chn=syaku&mode=blog&search=&page=1

// chn=secon 변경하기
out.println(Strings.getParameter(parameter,"chn=secon") + "<br />");
// 결과 : chn=secon&mode=blog&page=1 : &search= 값이 없기 때문에 자동 제거 됨.

// page 파라메터 삭제하기
out.println(Strings.getParameter(parameter,"page=") + "<br />");
// 결과 : chn=secon&mode=blog

// page=2 를 추가하고, mode=home 변경하며, chn 파라메터는 삭제하기.
out.println(Strings.getParameter(parameter,"chn=&mode=home&page=2") + "<br />");
// 결과 : mode=home&page=2
%>




List of Articles
번호 제목 날짜 조회 수
87 숫자형식 포멧 방법 2018.02.09 303
86 jquery 스크롤(scroll) 따라다니는 배너 레이어 / 위로 버튼 / 화면 상단으로 이동 / scroll layer 이벤트 file 2017.07.04 1604
85 BigDecimal타입의 사칙연산 2016.12.22 1806
84 다양한 문자 조합을 이용한 카운팅 구하기 2016.12.09 2687
83 자바 JXL 엑셀파일을 읽어 배열리턴 : JAVA EXCEL ArrayList 2016.12.09 2315
82 날짜 시간 포맷 제어 자바 클래스 : JAVA DateUtils Date time file 2016.12.09 2582
81 자바 다양한 형변환. 그리고 아스키 코드 String char int : JAVA 2016.12.09 2166
80 자바 XML 제어 라이브러리 XStream : JAVA 2016.12.09 2712
79 원하는 패턴의 날짜 구하기 : JAVA 2016.12.09 2050
78 iBATIS 동적으로 맵핑하기 2016.12.09 2114
» GET 파라메타 쿼리문자열 컨트롤 : getQueryString 2016.12.09 2207
76 접근 제한자 private/ protected/ public / default file 2016.10.06 2171
75 예외처리(Exception handling)방법 file 2016.09.21 2591
74 My-SQL 을 이용한 JDBC file 2016.09.21 2347
73 static멤버와 관련된 예제 2016.09.21 2311
72 파일 읽고쓰는 암호화/복호화 2016.09.21 3374
71 JQuery 자동완성 플러그인 JSDT설치 file 2016.09.19 5186
70 System.out.println(); 이클립스에서 자동화기능 사용 file 2016.09.19 2911
69 웹브라우저(크롬) 설정하여 웹을 실행해 보자 file 2016.09.19 3158
68 한글이 깨졌다! 인코딩(encoding)을 설정하자 file 2016.09.19 2263
Board Pagination Prev 1 2 3 4 5 Next
/ 5

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved