이걸로 오늘 왠종일 고생했다.
인코딩 디코딩도 잘 몰라서 해매긴 했지만...jsp단에서 값을 escape(encodeURIComponent(값))으로 넘겨주는건데 왜 java쪽에서 decoding이 안되는지 씩씩되며 했는지...
문제는 이것이 디코딩이 문제가 아니라 escape암호화?때문이엇음..
이문제를 해결 할려면 자바단에서
param.setAppNm(CommonUtil.unescape(URLDecoder.decode(param.getAppNm(), "UTF-8")));
코딩후에 밑에 부분을 따로 만들어 주는게 좋을듯
public static String unescape(String src) {
StringBuffer tmp = new StringBuffer();
tmp.ensureCapacity(src.length());
int lastPos = 0, pos = 0;
char ch;
while (lastPos < src.length()) {
pos = src.indexOf("%", lastPos);
if (pos == lastPos) {
if (src.charAt(pos + 1) == 'u') {
ch = (char) Integer.parseInt(src
.substring(pos + 2, pos + 6), 16);
tmp.append(ch);
lastPos = pos + 6;
} else {
ch = (char) Integer.parseInt(src
.substring(pos + 1, pos + 3), 16);
tmp.append(ch);
lastPos = pos + 3;
}
} else {
if (pos == -1) {
tmp.append(src.substring(lastPos));
lastPos = src.length();
} else {
tmp.append(src.substring(lastPos, pos));
lastPos = pos;
}
}
}
return tmp.toString();
}
이 소스를 넣으면 되는것 같다...왕초보 개발자는 오늘도 힘듬.ㅠ
'프로그램 > Web' 카테고리의 다른 글
자바 소수점 자르기 (0) | 2015.01.22 |
---|---|
checkbox 값을 java로 넘기는거에 관련된 이야기... (1) | 2015.01.06 |
Jfreechart 서버사용 (0) | 2014.12.10 |
Only a type can be imported 에러 (0) | 2014.12.09 |
톰캣 already closed 에러 (0) | 2014.12.05 |