h5通過表單將localStorage裡的資訊傳到java後台servlet處理

來源:互聯網
上載者:User

標籤:ati   tip   是你   css   strong   catch   密碼   分類   pos   

做技術和人生一樣,哪有什麼做不到,只有想不到。

乍一看你以為我在開玩笑呢。百度過,沒有這種操作。

沒有就不能實現了嗎 /壞笑

-------------------------------------------------------------------------------華麗麗分割線---------------------------------------------------------------------------------------------------------------------------------------------

localStorage是儲存在用戶端的,道理上講和服務端八竿子打不著,除非用ajax。但我就是要用表單,因為有時候上傳大檔案到服務端要用form提交的,而form裡要寫data-ajax="false"      (即禁用ajax)

不是舉例,但可以清晰的說明操作:


首先是css樣式:

<style type="text/css">#isme{display:none;}</style>

  //你是不希望用戶端存的資訊(往往是使用者名稱和密碼之類的)顯示到頁面上的對麼


表單的內容:

<form method="post" action="你的servlet地址"  enctype="multipart/form-data"  data-ajax="false">  <input type="file" class="form-control" name="file1"> <!--這個是大檔案,好吧不重要!!!可以忽略 -->     <div id="isme"> 這是你事先存在localStorage裡的使用者名稱:<input type="text" id="iname" name="iname"></div> <!--name這個屬性一定要有,不知道為什麼,但是沒有的話後台擷取不到--></form>

  jQuery:

<script>$(document).ready(function(){   $("#iname").val(localStorage.iname);//底線的表示你已經存好了一個key為iname的值,然後賦給input,不要緊張,這部分不會顯示在頁面的});</script>

  後台servlet:

public void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {List<String> value = new ArrayList<String>();//萬一你一高興寫了好幾個input想要傳遞localStorageresponse.setCharacterEncoding("utf-8");                //上傳大檔案的部分在分類“soga開發實錄”第三篇裡有                try{                DiskFileItemFactory factory = new DiskFileItemFactory();                    //2、建立一個檔案上傳解析器                    ServletFileUpload upload = new ServletFileUpload(factory);                     //解決上傳檔案名稱的中文亂碼                    upload.setHeaderEncoding("UTF-8");                     //3、判斷提交上來的資料是否是上傳表單的資料                    List<FileItem> list = upload.parseRequest(request);                    for(int index=0;index<list.size();index++){                     //如果fileitem中封裝的是普通輸入項的資料                            String name = list.get(index).getFieldName();                            //解決普通輸入項的資料的中文亂碼問題                            value.add(list.get(index).getString("UTF-8"));                            System.out.println(name + "=" + value.get(index));                                            }                }catch (Exception e) {                    e.printStackTrace();                                    }    }

  這算是小心機吧,不過可能能幫到一些人。

h5通過表單將localStorage裡的資訊傳到java後台servlet處理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.