標籤: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處理