$.ajax 옵션 조정
- contentType:false,
contentType 을 false 로 해야 경계 문자열이 누락되지 않는다 함
- processData:false
processData 를 false 로 하지 않으면 formdata 를 문자열로 변환하려 시도하고 오류가 발생한다 함
http://code.i-harness.com/ko/q/5247d8
http://code.i-harness.com/ko/q/a64fb8
A.jsp 에서 form 태그의 enctype 이 multipart/form-data 이고,
B.jsp 에서 A.jsp 가 전달해 준 데이타를 처리하는 경우..
이미 알고 있는 로직을 B.jsp 에서 사용하면 됩니다.
여기에서는, 주의할 점을 기술해 봅니다.
만약 enctype 이 없는 form 정보를 C.jsp 에서 처리하게 하려면..
1. 상기 A.jsp 에 enctype 이 없는 form 태그와 type 이 hidden 인 input 태그를 운용하여 처리.
이때 처리하는 쪽은 multipart/form-data 를 처리하지 않아도 되는 D.jsp 를 운영해야 하겠죠.
2. 만약 공통 모듈이 있어서 상기 1의 방법이 불가한 경우라면..
Ajax 로직으로 처리하면 됩니다. Ajax 자체는 form 태그를 사용하지 않기 때문에 상기 D.jsp 를 사용할 수 있습니다.
3. multipart/form-data 를 처리하는 C.jsp 를 호출하면서,
get 방식으로 A.jsp 에 들어 있는 태그 name 을 중복하게 되면 엉뚱한 값이 들어갈 수 있습니다.
이를테면, A.jsp 에 name 이 inputA 인 input 태그가 있고 값이 B 로 세팅되어 있다고 한다면..
C.jsp 를 호출할 때 C.jsp?inputA=A 이라고 get 방식으로 호출하더라도,
수신하는 쪽은 호출될 때의 상기 B 값이 세팅되어 있으므로 C.jsp 에서 inputA 에 들어 있는 값은 A 가 아니라 B 로 인식하게 됩니다.
'Server Oriented > Java & JSP' 카테고리의 다른 글
아파치 암호화 Codec, commons-codec (0) | 2015.07.02 |
---|---|
Math.round() 를 이용한 소숫점 반올림 (2) | 2015.03.06 |
웹페이지(HTML, JSP)를 PDF 파일로 저장 (0) | 2014.12.18 |
URLConnection 으로 외부 서비스 내용을 가져와서 ajax 나 include 에 사용 (0) | 2014.04.25 |
jstl (0) | 2014.03.19 |