Привет Я работаю над динамическим веб-проектом.Объект контекста не обновляется после завершения ajax
пока файл выбран на странице jsp. вызывается ajax. и перейти к сервлету. и установить атрибут контекста.
Я добавляю образец кода. Если у кого-то есть идея, связанная с тем, как обновлять контекстный объект ... с использованием ajax ...
но объект контекста не обновляется.
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>
Servlet Код
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