h5经过表单将localStorage里的信息传到java后台servlet处理

作技术和人生同样,哪有什么作不到,只有想不到。css

乍一看你觉得我在开玩笑呢。百度过,没有这种操做。html

没有就不能实现了吗 /坏笑java

-------------------------------------------------------------------------------华丽丽分割线---------------------------------------------------------------------------------------------------------------------------------------------ajax

localStorage是存储在客户端的,道理上讲和服务端八竿子打不着,除非用ajax。但我就是要用表单,由于有时候上传大文件到服务端要用form提交的,而form里要写data-ajax="false"      (即禁用ajax)post

不是举例,但能够清晰的说明操做:spa


首先是css样式:orm

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

  //你是不但愿客户端存的信息(每每是用户名和密码之类的)显示到页面上的对么htm


表单的内容:blog

<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:ip

<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();
                    //二、建立一个文件上传解析器
                    ServletFileUpload upload = new ServletFileUpload(factory);
                     //解决上传文件名的中文乱码
                    upload.setHeaderEncoding("UTF-8"); 
                    //三、判断提交上来的数据是不是上传表单的数据
                    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();
                    
                }
    }

  这算是当心机吧,不过可能能帮到一些人。

相关文章
相关标签/搜索