0
안녕하세요 저는 동적 웹 프로젝트를 진행하고 있습니다.완료라고하는 아약스 이후 컨텍스트 개체가 업데이트되지 않았습니다.
파일은 jsp 페이지에서 선택합니다. 아약스가 호출됩니다. 서블릿으로 이동하십시오. 및 컨텍스트 특성을 설정하십시오.
샘플 코드를 추가합니다. 아약스를 사용하여 컨텍스트 개체를 업데이트하는 방법과 관련된 아이디어가있는 경우 ...
컨텍스트 개체가 업데이트되지 않습니다.
JSP 페이지
<html>
<script>
$(document).ready(function(){
$(':file').change(function(){
var fileObj = this.files[0];
var fd = new FormData();
fd.append('file', fileObj);
var form = $('#f1');
alert(<%=context.getAttribute("uploadFile")%>); //false
$.ajax({
url:form.attr('action'),
type:form.attr('method'),
data:fd,
processData: false,
contentType: false,
async:false,
}).done(function(data){
alert('ajax complete');
//context object is not updated after ajax called...
alert(<%=context.getAttribute("uploadFile")%>); //false
<%context = getServletContext();%>
alert(<%=context.getAttribute("uploadFile")%>); //false
});
});
});
</script>
<form name="f1" id="f1" action="/test" method="post">
<input type="file"/>
</form>
</html>
서블릿 코드
if(ServletFileUpload.isMultipartContent(request)){
try{
List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for(FileItem item : multiparts){
if(!item.isFormField()){
//File upload logic
}
}
}catch(Exception ex){
ex.printStackTrace();
}
context.setAttribute("uploadFile",true); //set context attribute