<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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
        主站蜘蛛池模板: 一个人看的www视频免费在线观看 一个人看的免费观看日本视频www | 国产一卡2卡3卡4卡2021免费观看| 九九美女网站免费| 999在线视频精品免费播放观看| 在线A级毛片无码免费真人| 相泽亚洲一区中文字幕| 亚洲国产视频久久| 玖玖在线免费视频| 国产亚洲av片在线观看播放| 日本亚洲欧美色视频在线播放| 日本道免费精品一区二区| 在线a毛片免费视频观看| 久久亚洲精品成人无码| 免费va人成视频网站全| 亚洲精品福利你懂| 久久青草免费91线频观看站街| 成人在线免费观看| 亚洲综合网美国十次| 精品熟女少妇aⅴ免费久久| 国产婷婷高清在线观看免费| 激情综合亚洲色婷婷五月APP| 牛牛在线精品观看免费正| 毛片大全免费观看| 亚洲明星合成图综合区在线| 另类免费视频一区二区在线观看| 亚洲乱色熟女一区二区三区丝袜 | 大地资源免费更新在线播放| 亚洲色成人WWW永久在线观看| 一级毛片**不卡免费播| 亚洲精品无码Av人在线观看国产| 99久久精品毛片免费播放| 亚洲女人被黑人巨大进入| 色九月亚洲综合网| 日韩激情无码免费毛片| 亚洲精品无码你懂的| 69成人免费视频无码专区| 曰批全过程免费视频观看免费软件| 国产成人精品亚洲精品| 一道本不卡免费视频| 亚洲人成亚洲精品| 最近中文字幕大全免费视频|