思路:如果想要超链接实现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

超链接实现post方式提交的更多相关文章

  1. 使用post方式提交表单如何获取图片数据及其他文本参数[NodeJS]

    当POST方式提交包含图片的表单时,如上传图片时,需要在<form>字段需要添加参数enctype="multipart/form-data",表明以二进制方式传输数据 ...

  2. get方式提交中文乱码解决

    get方式提交中文时会乱码,过滤器只过滤post请求,此时可修改tomcat配置文件server.xml,为Connector添加属性URIEncoding="utf-8". ec ...

  3. Android 采用post方式提交数据到服务器

    接着上篇<Android 采用get方式提交数据到服务器>,本文来实现采用post方式提交数据到服务器 首先对比一下get方式和post方式: 修改布局: <LinearLayout ...

  4. 导出excel时,以form方式提交json数据

    今天在写项目时写到一个excel的导出,开始想用ajax请求后台后导出,但发现ajax会有返回值,而且ajax无法直接输出文件,而后台的excel导出方法已经封装好,不方便修改. 就改用了提交的方式f ...

  5. easyui form 方式提交数据

    http://ldzyz007.iteye.com/blog/2067540 <form id="ff" method="post">      . ...

  6. http-使用get和post方式提交数据

    注意点: 1.Get和post这两种提交方式有何不同? 很明显post方式提交多了content-length和content-type这两项,所以post提交是要为这两项设置setRequestPr ...

  7. jquery.form.js实现将form提交转为ajax方式提交的使用方法

    本文实例讲述了jquery.form.js实现将form提交转为ajax方式提交的方法.分享给大家供大家参考.具体分析如下: 这个框架集合form提交.验证.上传的功能. 这个框架必须和jquery完 ...

  8. Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)

    1.前面提到Http的get/post方式  . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2.Android应用会经常使用http协议进行传输,网上会有很完善 ...

  9. Android 使用Post方式提交数据(登录)

    在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持. 在HTTP通信中使用最多的就是GET和POS ...

随机推荐

  1. (原创)VM中的CentOS6.4中安装CloudStack6.3①

    CloudStack是一个功能强大.UI友好的开源云(IaaS)计算解决方案.自Ctrix将CloudStack捐献给 apache 后,一直持续高速发展,其社区活跃度已经渐渐赶上风头一时无两的另一开 ...

  2. Linux 网络配置

    1. 查看网卡型号: lspci | grep -i ethernet 上图中显示了网卡的具体型号,可以根据这个网卡型号在Intel官网下载Linux版本的驱动. 2. 以太网开机启动: 以太网的配置 ...

  3. RealProxy实现AOP编程(2)

    稍微变化一下!注意区别. Program.cs class Program { static void Main(string[] args) { User user = " }; var ...

  4. C++ 一些笔记

    1.指针.引用和const ; int &a = i; int *p ; int *&r=p;//r是对指针的引用 r=&i;//实质上是将p指向i *r=;//实质上是将i的 ...

  5. java可变参数

    Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理.注意:可变参数必须位于最后一项.当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持 ...

  6. idea-生成key的Java代码

    import java.math.BigInteger; import java.util.Date; import java.util.Random; import java.util.Scanne ...

  7. BeanUtils.copyProperties() 用法

    BeanUtils提供对Java反射和自省API的包装.其主要目的是利用反射机制对JavaBean的属性进行处理.我们知道,一个JavaBean通常包含了大量的属性,很多情况下,对JavaBean的处 ...

  8. ST第三次作业Junit安装

    一.Junit安装 安装eclipse,右键“项目”文件——>java build path——>导入jar包junit-4.12.jar和hamcrest-all-1.3.jar包. 二 ...

  9. linux yum软件管理

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  10. 使用TCP的HelloServer

    HelloServer是一个在1234端口监听的服务端程序,它接受客户送来的数据,并且把这些数据解释为响应的ASCII字符,再对客户做出类似“Hello,...!"这样的响应.以下是Hell ...