您现在的位置是:网站首页> 编程资料编程资料

jsp+ajax实现无刷新上传文件的方法_AJAX相关_

2023-05-25 427人已围观

简介 jsp+ajax实现无刷新上传文件的方法_AJAX相关_

本文实例讲述了jsp+ajax实现无刷新上传文件的方法。分享给大家供大家参考,具体如下:

列表页:selectaddress.jsp
js页:ajax_edit.js
jsp处理页:editaddress.jsp
上传工具类:UploadUtil.java

思想:由于安全问题,javascript操纵不了文件, 导致ajax不能动态上传文件,所以选择了iframe,

列表页把form表单提交到一个隐式的iframe里面,设置表单的属性

复制代码 代码如下:
enctype='multipart/form-data'  target='hidden_frame'

然后,处理页处理后返回
复制代码 代码如下:
out.println('');

列表页执行回调函数!

selectaddress.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="com.wap3.navigater.service.*" %><%@ page import="com.wap3.navigater.dao.*" %><%@ page import="com.wap3.navigater.pojo.*" %><%@ page import="com.wap3.navigater.util.*" %><%@ page import="java.util.*" %><%@ page import="java.text.*" %>Insert title here<% 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 += "?"+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 friendurlList = friendurlDao.selectFriendurlByE(friendurl); //分页 int totallpage = (int) Math.ceil(((double) friendurlList .size() * 1.0D)/ (double) pageSize); pageNo =pageNo <= 0 ? 1 : pageNo; pageNo =pageNo > totallpage ? totallpage : pageNo; DataPageUtil datePage = new DataPageUtil(friendurlList ,friendurlList .size(),pageSize, pageNo); boolean hasPrerPage = datePage.hasPrevPage(); boolean hasNextPage= datePage.hasNextPage(); int curpageNo = datePage.getPageNo(); int pageCount = datePage.getPageCount(); friendurlList = DataPageUtil.subList(friendurlList, pageSize, pageNo); if(friendurlList == null && friendurlList.size()<=0) { out.println("没有您需要的数据"); }else{ %><%@include file="inc/header.jsp" %>
<% for(Friendurl friendurlTemp:friendurlList) { int urlId = friendurlTemp.getUrlid(); String siteName = friendurlTemp.getSitename(); String alias = friendurlTemp.getAlias(); String address = friendurlTemp.getAddress(); String texturl = friendurlTemp.getTexturl(); String imageurl = friendurlTemp.getImageurl(); String description = friendurlTemp.getDescription(); Date validbegintime = friendurlTemp.getValidbegintime(); Date validendtime = friendurlTemp.getValidendtime(); String mobile = friendurlTemp.getMobile(); int sequence = friendurlTemp.getSequence(); int filter = friendurlTemp.getFilter(); %><% } %>
条目列表
站点名称站点别名归类公司地址文字链接图片链接描述有效开始时间有效结束时间电话位置排序推荐序号
/><%=siteName %><%=alias %><%=categoryName%><%=address %><%=texturl%><%=description%><%=validbegintime == null || "".equals(validbegintime)? "--:--" : TimeUtil.date2Str(validbegintime)%><%=validendtime == null || "".equals(validendtime)? "--:--" : TimeUtil.date2Str(validendtime)%><%=mobile%><%=sequence%><%=filter%>
提示:双击选框修改属性值
<%@ include file="inc/pagination.jsp"%>
<% } %>

editaddress.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="com.wap3.navigater.util.*" %><%@ page import="com.wap3.navigater.service.*" %><%@ page import="com.wap3.navigater.pojo.*" %><%@ page import="com.wap3.navigater.dao.*" %><%@ page import="java.util.*" %><%@ page import="java.text.*" %><% String target = ParameterUtil.getStringParameter(request,"target",""); String action = ParameterUtil.getStringParameter(request,"action",""); if(!"".equals(target) && target != null && "edit".equals(action)){ int categoryId = 0; CategoryDao categoryDao = null; int urlid=0,status=0,sequence=0,filter=0; String sitename=null,alias=null,texturl=null,imageurl=null,description=null,mobile=null; Date validbegintime=null,validendtime=null; if("imageurl".equals(target)){ System.out.println("图片上传"); UploadUtil.upload(request, response); String imageurlpath = (String) request.getAttribute("imageurlpath"); urlid = Integer.parseInt((String)request.getAttribute("urlid")); imageurl = (String)request.getAttribute("imageurlpath"); }else{ if("categoryName".equals(target)){ String categoryName = ParameterUtil.getStringParameter(request,"categoryName",""); Category category = new Category(); category.setCategoryName(categoryName); categoryDao = new IbatisCategoryDao();
                
                

-六神源码网