jsp+ajax实现无刷新上传文件的方法

论坛 期权论坛     
niminba   2021-5-23 05:25   305   0
<p>本文实例讲述了jsp+ajax实现无刷新上传文件的方法。分享给大家供大家参考,具体如下:</p>
<p>列表页:selectaddress.jsp<br>
js页:ajax_edit.js<br>
jsp处理页:editaddress.jsp<br>
上传工具类:UploadUtil.java</p>
<p><img alt="" src="https://beijingoptbbs.oss-cn-hangzhou.aliyuncs.com/jb/2426819-1accdfb426503ea952fe9da76e4300e8"></p>
<p>思想:由于安全问题,javascript操纵不了文件, 导致ajax不能动态上传文件,所以选择了iframe,</p>
<p>列表页把form表单提交到一个隐式的iframe里面,设置表单的属性</p><div class="codetitle"><span><a class="copybut" data="9428" id="copybut9428"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code9428">enctype='multipart/form-data'&nbsp; target='hidden_frame'</div><p><br>
然后,处理页处理后返回</p><div class="codetitle"><span><a class="copybut" data="1142" id="copybut1142"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code1142">out.println('&lt;script&gt;parent.callback(" 返回值 ")&lt;/script&gt;');</div>
<p>列表页执行回调函数!</p>
<p>selectaddress.jsp</p>
<div class="blockcode">
<pre class="brush:java;">
&lt;%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%&gt;
&lt;%@ page import="com.wap3.navigater.service.*" %&gt;
&lt;%@ page import="com.wap3.navigater.dao.*" %&gt;
&lt;%@ page import="com.wap3.navigater.pojo.*" %&gt;
&lt;%@ page import="com.wap3.navigater.util.*" %&gt;
&lt;%@ page import="java.util.*" %&gt;
&lt;%@ page import="java.text.*" %&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt;
&lt;html&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
&lt;script type="text/javascript" src="../js/jquery.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="../js/ajax_edit.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="../js/jquery.jclock.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="../js/common.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="../js/jquery.form.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="../js/fileTypeJudge.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="../js/jquery.datepick.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="../js/jquery.datepick-zh-CN.js"&gt;&lt;/script&gt;
&lt;link media=all href="../css/common.css" type=text/css rel=stylesheet&gt;
&lt;title&gt;Insert title here&lt;/title&gt;
&lt;style type="text/css"&gt;
@import "inc/jquery.datepick.css";
&lt;/style&gt;
&lt;script type="text/javascript"&gt;
var $imgthis;
$(function(){
  var oldValue;
  $(".package_list .edit").bind("dblclick",function(){
   oldValue = $(this).text();
   $(this).ajax_edit("editaddress.jsp",oldValue);
  });
  $(".package_list .edit_img").bind("dblclick",function(){ //
   oldValue = $(this).html();
   $imgthis = $(this);
   $(this).parents("tr.package_list").siblings(".package_list").find(":input.cancel").trigger("click");
   $(this).ajax_edit_img("editaddress.jsp",oldValue);
  });
  $(".package_list .edit :input[type!=file]:visible").live("blur",function(){
   $(this).ajax_handle("editaddress.jsp&#63;action=edit",oldValue);
  });
  $("#editcategoryName").live("change",function(){
   $(this).ajax_handle("editaddress.jsp&#63;action=edit",oldValue);
  });
  $("#del").click( function () {
   if($(":checkbox.urlid:checked").size()&gt;0){
    var result = confirm("不可恢复的操作:确定要吗?"+ '\n' +"提示:如果删除大类会删除大类及下面的子类!!!");
    if (result) {
     var url = location.href;
     alert(url);
     return ;
     $(".main_table").wrap("&lt;form id='selectAddressForm' action='selectaddress.jsp&#63;action=del' method='post'&gt;&lt;/form&gt;");
     $("#selectAddressForm").submit();
    }
   }else{
    alert("请选择要删除的项目!");
    return false;
   }
  });
});
function callback(msg) //处理JSP回调 过来的参数
{
  $imgthis.html("&lt;img class='logo' src='"+msg+"' title='"+msg+"' /&gt;");
}
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;%
  String action = ParameterUtil.getStringParameter(request,"action","");
  FriendurlDao friendurlDao = new IbatisFriendurlDao();
  if("del".equals(action)){
   int[] urlids = ParameterUtil.getIntArrayParams(request,"urlid");
   for(int urlid : urlids){
    friendurlDao.deleteFriendurlByP(urlid);
   }
  }
  String navigaterPage = request.getRequestURL().toString();
  if(request.getQueryString()!= null){
   navigaterPage += "&#63;"+request.getQueryString();
  }
  int categoryId = ParameterUtil.getIntParameter(request,"categoryId",0);
  if(categoryId == 0){
   response.sendRedirect("selectcategory.jsp");
   return;
  }
  int pageSize = ParameterUtil.getIntParameter(request,"pageSize",10);
  int pageNo = ParameterUtil.getIntParameter(request,"pageNo",1);
  String orderBy = ParameterUtil.getStringParameter(request,"orderBy","sequence");
  int ascOrDesc = ParameterUtil.getIntParameter(request,"ascOrDesc",0);
  CategoryDao categoryDao = new IbatisCategoryDao();
  Category category = categoryDao.selectCategoryByP(categoryId);
  String categoryName = category.getCategoryName();
  Friendurl friendurl = new Friendurl();
  friendurl.setCategoryId(categoryId);
  friendurl.addOrderBy(orderBy,ascOrDesc);
  List&lt;Friendurl&gt; friendurlList = friendurlD
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP