h5通過表單將localStorage里的信息傳到java后台servlet處理


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

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

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

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

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想要傳遞localStorage
		response.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();
                    
                }
    }

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM