• 超链接实现post方式提交


    思路:如果想要超链接实现post方式提交,必须借助表单。下面得两种方式,一种是借助显示的form表单,一种是借助隐式的form表单
    方式一:将超链接放到一个form表单中,或者超链接本身就在一个form表单中,这种情况下,我们将需要提交的参数用隐藏域的方式提交过去。
    分两种情况:
    A.超链接的提交地址和form表单的提交地址是一致的:

    <form name='form1' action='MyJsp2.jsp' method='post'>
            <input type='hidden' name='page' value='1'/>
            <input type='hidden' name='hiddenA' value='A'/>
            <a href='javascript:document.form1.submit();'>首页</font></a>
                    ...
    </form>

    B. 超链接的提交地址和form表单的提交地址不一致的:


    <script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
    <script type="text/javascript">
        function post(path){
            $("#form1").attr("action",path);
            $("#form1").submit();
        }
    </script>
    <form name='form1' action='MyJsp2.jsp' method='post' id="form1">
            <input type='hidden' name='page' value='1'/>
            <input type='hidden' name='hiddenA' value='A'/>
            <a href="javascript:post('index.jsp')">首页</a>
                    ...
    </form>


    在接收页面,直接通过java方式获取即可


    String p = request.getParameter("page");
    System.out.println(p);    //1

    方式二:使用js代码实现隐藏form表单的实现
    index.jsp页面如下:


    /**
    * 功能:post方式提交
    * 参数列表:url:提交的地址;params:参数列表
    */
    <script type="text/javascript">
        function post(url, params) {
        var temp = document.createElement("form"); //创建form表单
        temp.action = url;
        temp.method = "post";
        temp.style.display = "none";//表单样式为隐藏
        for (var item in params) {//初始化表单内部的控件
           //根据实际情况创建不同的标签元素
            var opt =document.createElement("input");  //添加input标签
            opt.type="text";   //类型为text
            opt.id = item;      //设置id属性
            opt.name = item;    //设置name属性
            opt.value = params[item];   //设置value属性
            temp.appendChild(opt);
        }
        
        document.body.appendChild(temp);
        temp.submit();
        return temp;
    }
    </script>
    <body>
        <a href="javascript:post('MyJsp.jsp',{id:1,name:'aaa'})">超链接实现post提交</a>
    </body>

    在MyJsp.jsp页面,直接采用java方式接收即可:


    System.out.println(request.getParameter("id"));   //1
    System.out.println(request.getParameter("name"));  //aaa

  • 相关阅读:
    DB2保存图片并读取动态显示图片
    DIV布局之position详解
    dojo之配置dojoconfig
    JAVA虚拟机内存架构
    UrlConnection的代理和返回状态码的问题
    自定义网站的icon和收藏夹图标
    DB2建库简单例子
    python学习笔记之函数(方法)
    python学习笔记之基础数据和控制
    MVC3学习:实现文章上一篇下一篇链接
  • 原文地址:https://www.cnblogs.com/qusongsong/p/5759605.html
Copyright © 2020-2023  润新知