国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

jsp+ajax實現無刷新上傳文件的方法

來源:懂視網 責編:小采 時間:2020-11-27 22:52:00
文檔

jsp+ajax實現無刷新上傳文件的方法

jsp+ajax實現無刷新上傳文件的方法:本文實例講述了jsp+ajax實現無刷新上傳文件的方法。分享給大家供大家參考,具體如下: 列表頁:selectaddress.jsp js頁:ajax_edit.js jsp處理頁:editaddress.jsp 上傳工具類:UploadUtil.java 思想:由于安全問題,javascript操縱不了
推薦度:
導讀jsp+ajax實現無刷新上傳文件的方法:本文實例講述了jsp+ajax實現無刷新上傳文件的方法。分享給大家供大家參考,具體如下: 列表頁:selectaddress.jsp js頁:ajax_edit.js jsp處理頁:editaddress.jsp 上傳工具類:UploadUtil.java 思想:由于安全問題,javascript操縱不了

本文實例講述了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('<script>parent.callback(" 返回值 ")</script>');

列表頁執行回調函數!

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.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="../js/ajax_edit.js"></script>
<script type="text/javascript" src="../js/jquery.jclock.js"></script>
<script type="text/javascript" src="../js/common.js"></script>
<script type="text/javascript" src="../js/jquery.form.js"></script>
<script type="text/javascript" src="../js/fileTypeJudge.js"></script>
<script type="text/javascript" src="../js/jquery.datepick.js"></script>
<script type="text/javascript" src="../js/jquery.datepick-zh-CN.js"></script>
<link media=all href="../css/common.css" type=text/css rel=stylesheet>
<title>Insert title here</title>
<style type="text/css">
 @import "inc/jquery.datepick.css";
</style>
<script type="text/javascript">
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?action=edit",oldValue);
 });
 $("#editcategoryName").live("change",function(){
 $(this).ajax_handle("editaddress.jsp?action=edit",oldValue);
 });
 $("#del").click( function () {
 if($(":checkbox.urlid:checked").size()>0){
 var result = confirm("不可恢復的操作:確定要嗎?"+ '\n' +"提示:如果刪除大類會刪除大類及下面的子類!!!");
 if (result) {
 var url = location.href;
 alert(url);
 return ;
 $(".main_table").wrap("<form id='selectAddressForm' action='selectaddress.jsp?action=del' method='post'></form>");
 $("#selectAddressForm").submit();
 }
 }else{
 alert("請選擇要刪除的項目!");
 return false;
 }
 });
 });
 function callback(msg) //處理JSP回調 過來的參數
 {
 $imgthis.html("<img class='logo' src='"+msg+"' title='"+msg+"' />");
 }
</script>
</head>
<body>
 <%
 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<Friendurl> 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" %>
 <div id = "mainbox">
 <div class = "c1">
 <table class="main_table" width="100%" border="1" cellspacing="0" cellpadding="0">
 <tr>
 <th align="center" height="20" colspan="13" align="center" bgcolor="#006699">條目列表</th>
 </tr>
 <tr>
 <td width="10%" height="20" align="center" bgcolor="#009999">
 <input id="AllORNoall" type="checkbox"><label for="AllORNoall">全選</label>
 <input type="button" id="reserse" value="反選" />
 </td>
 <td width="7%" height="20" align="center" bgcolor="#009999">站點名稱</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">站點別名</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">歸類</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">公司地址</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">文字鏈接</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">圖片鏈接</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">描述</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">有效開始時間</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">有效結束時間</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">電話</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">位置排序</td>
 <td width="7%" height="20" align="center" bgcolor="#009999">推薦序號</td>
 </tr>
 <%
 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();
 %>
 <tr class="package_list">
 <td height="20" align="center" class="urlid_td"><input type="checkbox" name="urlid" class="id_select urlid" value=<%= urlId%> /></td>
 <td height="20" align="center" class="edit sitename"><%=siteName %></td>
 <td height="20" align="center" class="edit alias"><%=alias %></td>
 <td height="20" align="center" class="edit categoryName"><%=categoryName%></td>
 <td height="20" align="center" class="edit address"><%=address %></td>
 <td height="20" align="center" class="edit texturl"><%=texturl%></td>
 <td height="20" align="center" class="edit_img imageurl"><img src='<%=imageurl%>' class='logo' title='<%=imageurl%>'/></td>
 <td height="20" align="center" class="edit description"><%=description%></td>
 <td height="20" align="center" class="edit validbegintime"><%=validbegintime == null || "".equals(validbegintime)? "--:--" : TimeUtil.date2Str(validbegintime)%></td>
 <td height="20" align="center" class="edit validendtime"><%=validendtime == null || "".equals(validendtime)? "--:--" : TimeUtil.date2Str(validendtime)%></td>
 <td height="20" align="center" class="edit mobile"><%=mobile%></td>
 <td height="20" align="center" class="edit sequence"><%=sequence%></td>
 <td height="20" align="center" class="edit filter"><%=filter%></td>
 </tr>
 <%
 }
 %>
 <tr>
 <td align="center"><input type="button" id="del" value="刪除" /></td>
 <td align="center" colspan = "12">提示:雙擊選框修改屬性值</td>
 </tr>
 </table>
 </div>
 <%@ include file="inc/pagination.jsp"%>
 </div>
 <%
 }
 %>
<iframe name='hidden_frame' id="hidden_frame" style='display:none'></iframe>
</body>
</html>

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();
 Category category2 = categoryDao.selectCategoryByE(category).get(0);
 categoryId = category2.getCategoryId();
 }else{
 categoryId = ParameterUtil.getIntParameter(request,"categoryId",0);
 }
 urlid = ParameterUtil.getIntParameter(request,"urlid",0);
 sitename = ParameterUtil.getStringParameter(request,"sitename","");
 alias = ParameterUtil.getStringParameter(request,"alias","");
 texturl = ParameterUtil.getStringParameter(request,"texturl","");
 imageurl = ParameterUtil.getStringParameter(request,"imageurl","");
 description = ParameterUtil.getStringParameter(request,"description","");
 status = ParameterUtil.getIntParameter(request,"status",0);
 sequence = ParameterUtil.getIntParameter(request,"sequence",0);
 filter = ParameterUtil.getIntParameter(request,"filter",0);
 mobile = ParameterUtil.getStringParameter(request,"mobile","");
 validbegintime = ParameterUtil.getDateParameter(request,"validbegintime");
 validendtime = ParameterUtil.getDateParameter(request,"validendtime");
 }
 Calendar beginDay=Calendar.getInstance();
 Friendurl friendurl = new Friendurl();
 friendurl.setUrlid(urlid);
 friendurl.setSitename(sitename);
 friendurl.setDescription(description);
 friendurl.setTexturl(texturl);
 friendurl.setImageurl(imageurl);
 friendurl.setAlias(alias);
 friendurl.setSequence(sequence);
 friendurl.setMobile(mobile);
 friendurl.setCategoryId(categoryId);
 friendurl.setStatus(status);
 friendurl.setValidbegintime(validbegintime);
 friendurl.setValidendtime(validendtime);
 friendurl.setFilter(filter);
 FriendurlDao friendurlDao = new IbatisFriendurlDao();
 friendurlDao.updateFriendurlByP(friendurl);
 Friendurl friendurl2 = friendurlDao.selectFriendurlByE(friendurl).get(0);
 if(friendurl2 != null){
 String methodName = "get" + target.substring(0,1).toUpperCase()+target.substring(1);
 if(target.endsWith("time")){
 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 out.println(TimeUtil.date2Str(((Date)(friendurl2.getClass().getMethod(methodName,new Class[]{}).invoke(friendurl2,new Object[]{})))));
 }else if("categoryName".equals(target)){
 out.println(categoryDao.selectCategoryByP(friendurl2.getCategoryId()).getCategoryName());
 }else if("imageurl".equals(target)){
 // 無刷新關鍵的步驟,讓iframe的父輩body執行callback這個函數
 out.println("<script>parent.callback('"+friendurl2.getClass().getMethod(methodName,new Class[]{}).invoke(friendurl2,new Object[]{})+"')</script>");
 }else{
 out.println(friendurl2.getClass().getMethod(methodName,new Class[]{}).invoke(friendurl2,new Object[]{}));
 }
 }else{
 out.println("更新失敗");
 }
 }
%>

ajax_edit.js

(function(){
 $.fn.extend({
 ajax_edit:function(str,oldValue){
 return this.each(function(){
 $this = $(this);
 var id;
 var nameId = $this.attr("class").split(" ")[1];
 var idName = $this.parents("tr.package_list").find("td:first-child :input[type=checkbox]").attr("class").split(" ")[1];
 id = $this.siblings("."+idName+"_td").find("input").val();
 if(nameId == "categoryName" && str == "editaddress.jsp"){
 $this.load("categorylist.jsp",{'oldValue':oldValue,'urlid':id});
 }else{
 $this.html("<form id='selectaddressForm'><input type='hidden' name='"+idName+"' value='"+id+"' /><input type='hidden' name='target' value='"+nameId+"' /><input type='text' name='"+nameId+"' value='"+oldValue+"'/></form>");
 $this.find(":input:last").focus();
 }
 })
 },
 ajax_edit_img:function(str,oldValue){ //處理圖片上傳AJAX 關鍵的一步form表格里的 target='hidden_frame'提交到ID為hidden_frame的iframe里面
 return this.each(function(){
 var $this = $(this);
 var nameId = $this.attr("class").split(" ")[1];
 var idName = $this.parents("tr.package_list").find("td:first-child :input[type=checkbox]").attr("class").split(" ")[1];
 var id = $this.siblings("."+idName+"_td").find("input").val();
 var $imgForm = $("<form id='selectaddressForm_img' action='editaddress.jsp?action=edit&target=imageurl' method='post' enctype='multipart/form-data' target='hidden_frame'><input type='hidden' name='"+idName+"' value='"+id+"' /><input type='file' name='"+nameId+"' /><input type='button' class='cancel' value='取消' /><input type='button' class='ok' value='上傳' /></form>");
 $this.html($imgForm);
 $this.find(":input:last").focus();
 $imgForm.find(":input[type=file]").bind("change",function(){
 $(this).fileTypeJudge("photo");
 })
 $imgForm.find(":input.ok").bind("click",function(){
 var $button = $(this);
 if($imgForm.find(":input[type=file]").val()==''){
 alert("請上傳圖片!");
 return false;
 }
 $button.attr("disabled",true);
 $("#selectaddressForm_img").submit();
 })
 $imgForm.find(":input.cancel").bind("click",function(){
 $(this).parents(".edit_img").html(oldValue);
 });
 })
 },
 ajax_handle:function(str,oldValue){
 return this.each(function(){
 var $this = $(this);
 setTimeout(function(){
 if(!$("div").hasClass("datepick-control") || !$("div .datepick-control").is(":visible")){
 if(oldValue != $this.val() && $this.val() !="" ){
 $.post(
 str,$("#selectaddressForm").serialize(),
 function(data){
 $this.parents(".edit").text(data.trim()).css("color","red");
 }
 )
 }else{
 $this.parents(".edit").text(oldValue);
 }
 }
 },1000);
 })
 }
 })
})(jQuery)

希望本文所述對大家ajax程序設計有所幫助。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

jsp+ajax實現無刷新上傳文件的方法

jsp+ajax實現無刷新上傳文件的方法:本文實例講述了jsp+ajax實現無刷新上傳文件的方法。分享給大家供大家參考,具體如下: 列表頁:selectaddress.jsp js頁:ajax_edit.js jsp處理頁:editaddress.jsp 上傳工具類:UploadUtil.java 思想:由于安全問題,javascript操縱不了
推薦度:
標簽: 的方法 實現 js
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产精品久久久久免费 | 国产精品视频免费一区二区三区 | 欧美激情在线播放一区二区三区 | 国产97在线看 | 精品视频在线观看视频免费视频 | 国产欧美久久久精品影院 | 91综合网| 欧美成人伊人久久综合网 | 国产高清免费 | 在线国产毛片 | 国产一区二区三区 韩国女主播 | 亚洲欧美日韩激情在线观看 | 欧美gv在线 | 亚洲国产精品免费 | 亚洲综合视频 | 亚洲欧美日韩精品高清 | 特黄日韩免费一区二区三区 | 国模冰冰双人炮gogo | 国产欧美一区二区三区精品 | 九九精品视频一区二区三区 | 国产一级一级一级成人毛片 | 久久久不卡国产精品一区二区 | 99久久精品国产一区二区成人 | 在线播放国产视频 | 欧美一区二区三区视频在线观看 | 国产a不卡 | 精品国产96亚洲一区二区三区 | 欧美日韩在线精品一区二区三区 | 亚洲一区二区在线成人 | 囗交免费毛片 | 91午夜精品亚洲一区二区三区 | 亚洲夜夜骑| 精品欧美一区二区在线观看欧美熟 | 亚洲一区二区三区四 | 国产精品视频专区 | 国产高清在线观看 | 日韩 国产 欧美 | 一级毛片免费看 | 日韩欧美国产电影 | 亚洲一区二区三区中文字幕 | 久久精品一 |