form表单提交路径action="" 时的一种特殊情况
2016-05-10 10:10
246 查看
一、说明:
当页面的form表达的action=""时,表示表单会提交到当前页面,但是如果当前页面的URL里已经带有一个参数了,每次提交表达时这个参数依然存在,不管form表单里有没有提交该参数。
例如:
若访问URL为:http://localhost:8080/MyWebPro/index.jsp?userid=1
则控制台打印:
输入username提交表达可以发现后台打印:
因此,可以发现,如果action提交到当前页面时,如果当前页面URL里带有参数,则每次提交表单时该参数仍然会被提交。
二、总结:
之前没有遇过这种情况,今天自己动手测试了一下并记录下来以备查询。
当页面的form表达的action=""时,表示表单会提交到当前页面,但是如果当前页面的URL里已经带有一个参数了,每次提交表达时这个参数依然存在,不管form表单里有没有提交该参数。
例如:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; System.out.println("userid="+request.getParameter("userid")); System.out.println("username="+request.getParameter("username")); %> <html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> This is my JSP page. <br> <form method="post" id="submit" action=""> <input type="text" name="username" id="username" value=""/> username<br> <input type="submit" value="提交"/> </form> </body> </html>
若访问URL为:http://localhost:8080/MyWebPro/index.jsp?userid=1
则控制台打印:
userid=1 username=null
输入username提交表达可以发现后台打印:
userid=1 username=jack
因此,可以发现,如果action提交到当前页面时,如果当前页面URL里带有参数,则每次提交表单时该参数仍然会被提交。
二、总结:
之前没有遇过这种情况,今天自己动手测试了一下并记录下来以备查询。
相关文章推荐
- 开源连接池_dbcp_c3p0_tomcat内置连接池
- java 折半查找 冒泡排序 选择排序
- 6、Struts2中的国际化、Ognl(对象图导航语言)表达式语言
- Elasticsearch源码分析一--调用Lucene查询接口之match_all查询
- 求mat的连通域,并只显示最大轮廓的连通域
- openstack-Swift中ring的通俗理解
- setNeedsDisplay setNeedsLayout
- 取出字符串的最后一个字符
- AngularJS 的表单验证
- Halcon与opencv格式的转换
- 企业如何选择最佳的SSL
- 使用hibernate tools插件生成POJO
- 7.1.2 运行错误
- 简单内交联与外交联总结
- Android消息处理机制——Looper、Handler、Message 源码分析
- 安卓内存优化
- Android 定义全局 ToastUtils
- android应用中去掉标题栏的方法
- 让一个数组内的所有对象执行同一个方法
- 设置按钮的尺寸和图片的一样大