如何获得request中所有的参数名和参数值

来自:    更新日期:早些时候
如何获得request中所有的参数名和参数值~

三个方法:
1、request.QueryString("参数")//获取指定参数,返回字符串;
2、request.QueryStrings();//获取全部参数,并返回数组;
3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
例如:
当前地址栏参数字符串为:?name=a&site=never_online

alert(request.setQuery("name","blueDestiny"))

如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online

setQuery方法有自动追加参数的功能。如:
当前地址栏参数字符串为:?site=never_online
alert(request.setQuery("name","blueDestiny"))
则返回?site=never_online&name=blueDestiny

同理,如果地址栏没有参数,也会自动追加参数
alert(request.setQuery("name","blueDestiny"))
返回?name=blueDestiny


<!--
// author: never-online
// web: never-online.net
var request = {
QueryString : function(val) {
var uri = window.location.search;
var re = new RegExp("" +val+ "\=([^\&\?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
},
QueryStrings : function() {
var uri = window.location.search;
var re = /\w*\=([^\&\?]*)/ig;
var retval=[];
while ((arr = re.exec(uri)) != null)
retval.push(arr[0]);
return retval;
},
setQuery : function(val1, val2) {
var a = this.QueryStrings();
var retval = "";
var seted = false;
var re = new RegExp("^" +val1+ "\=([^\&\?]*)$", "ig");
for(var i=0; i<a.length; i++) {
if (re.test(a[i])) {
seted = true;
a[i] = val1 +"="+ val2;
}
}
retval = a.join("&");
return "?" +retval+ (seted ? "" : (retval ? "&" : "") +val1+ "=" +val2);
}
}
alert(request.setQuery("e","b"))
//-->

步骤如下:
1、在web工程里面创建一个Servlet类,继承HttpServlet,重写doPost,doGet方法,在doPost方法中调用doGet方法;
2、在doGet方法中把要设置到jsp页面的值存到request中;
3、在doGet方法中添加转发到jsp页面的代码;
4、在jsp页面中使用jstl标签获取存入的值。
事例代码如下:
Servlet类:
public class DemoServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setAttribute("name", "nameValue");
request.getRequestDispatcher("/demo.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
jsp页面:






Demo







${name }



其中,表示导入jstl标签库,没导入的话无法使用jstl标签,使用jstl标签可以减少很多代码量,导入jstl标签后就可以通过使用${}的方法来获取值了。

三个方法:
1、request.QueryString("参数")//获取指定参数,返回字符串;
2、request.QueryStrings();//获取全部参数,并返回数组;
3、request.setQuery("参数","参数的值");//如果当前地址栏有此参数,那么将更新此参数,否则返回一个新的地址栏参数字符串。
例如:
当前地址栏参数字符串为:?name=a&site=never_online

alert(request.setQuery("name","blueDestiny"))

如果地址栏参数中有"name",那么返回?name=blueDestiny&site=never_online

setQuery方法有自动追加参数的功能。如:
当前地址栏参数字符串为:?site=never_online
alert(request.setQuery("name","blueDestiny"))
则返回?site=never_online&name=blueDestiny

同理,如果地址栏没有参数,也会自动追加参数
alert(request.setQuery("name","blueDestiny"))
返回?name=blueDestiny

<SCRIPT LANGUAGE="JavaScript">
<!--
// author: never-online
// web: never-online.net
var request = {
QueryString : function(val) {
var uri = window.location.search;
var re = new RegExp("" +val+ "\=([^\&\?]*)", "ig");
return ((uri.match(re))?(uri.match(re)[0].substr(val.length+1)):null);
},
QueryStrings : function() {
var uri = window.location.search;
var re = /\w*\=([^\&\?]*)/ig;
var retval=[];
while ((arr = re.exec(uri)) != null)
retval.push(arr[0]);
return retval;
},
setQuery : function(val1, val2) {
var a = this.QueryStrings();
var retval = "";
var seted = false;
var re = new RegExp("^" +val1+ "\=([^\&\?]*)$", "ig");
for(var i=0; i<a.length; i++) {
if (re.test(a[i])) {
seted = true;
a[i] = val1 +"="+ val2;
}
}
retval = a.join("&");
return "?" +retval+ (seted ? "" : (retval ? "&" : "") +val1+ "=" +val2);
}
}
alert(request.setQuery("e","b"))
//-->
</SCRIPT>


如何获得request中所有的参数名和参数值视频

相关评论:
  • 19145471421httpservlet的子类要从http请求中获得请求参数
    傅关皆这将获取名为"username"的参数的值。如果参数不存在,getParameter方法将返回null。如果需要获取多个值的参数,可以使用getParameterValues方法:java String parameterName = "hobbies";String[] parameterValues = request.getParameterValues(parameterName);这将获取名为"hobbies"的所有参数值,并返回一个字符...

  • 19145471421request.getAttribute的用法,这两句是什么意思?
    傅关皆request.getAttribute("oaSr"); 意思是获取保存在request作用域中的对象。能后使用 SelRs接收。getAttribute()是获取作用域中的对象或者值。setAttribute()是在作用域中保存对象或值。作用域有 request,session,application,page。

  • 19145471421Attribute 和 Parameter 的区别
    傅关皆展开全部 Attribute 和 Parameter 的区别(1)HttpServletRequest类有setAttribute()方法,而没有setParameter()方法 (2)当两个Web组件之间为链接关系时,被链接的组件通过getParameter()方法来获得请求参数, (3)当两个Web组件之间为转发关系时,转发目标组件通过getAttribute()方法来和转发源组件共享request范围内的数据。

  • 19145471421JSP和Servlet中request怎么获得请求发起页面的地址或路径
    傅关皆String header_referer = request.getHeader("Referer");通过上述的Java代码即可获取到请求的引用页面地址

  • 19145471421如何获得request.setAttribute中的值
    傅关皆试试下面代码:Html代码 var list = [< List list = (List) (request.getAttribute("promotionlist"));for (Iterator it = list.iterator; it.hasNext();) { out.print("\\"" + it.next() + "\\"");if (it.hasNext()) out.println(", ");} > ];document.getElementById("iframe...

  • 19145471421在jsp中如何用request中获取后台传来的数据?
    傅关皆HttpServletRequest接口有setAttribute方法,而没有setParameter方法 当两个Web组件之间为链接关系时,被链接的组件通过getParameter方法来获得请求参数 String datetime1 = (String)request.getAttribute("datetime");通常情况下,你每次提交(点击搜索)的时候,过程如下: 转到后台,根据你的输入生成新的sql语句转到...

  • 19145471421在c#用httpwebrequest中发送get\/http\/https请求后,怎么获得数据
    傅关皆public string Get(string url){ HttpWebRequest request; \/\/ 创建一个HTTP请求 request = (HttpWebRequest)WebRequest.Create(url); \/\/request.Method="get"; HttpWebResponse response; response = (HttpWebResponse)request.GetResponse(); System.IO.StreamReader myreader = ...

  • 19145471421.net 后台怎么判断所有的Request.Form 不是空
    傅关皆string.isnullorempty(Request.Form["name"]);

  • 19145471421JSP中,如何清空用内置对象request从表单获得的数据?
    傅关皆这相当于浏览器又请求了一次 你清空了 再刷新,还是会用数据传过来的 不信你用 request.setAttribute("name","zhangsan"),然后 用request.removeAttribute("name")试试.123.jsp:<%request.setAttribute("name","zhangsan");request.getRequestDispatcher("456.jsp").forward(request,response);> 456....

  • 19145471421如何在struts2中获得request
    傅关皆这个接口有一个acceptableParameterName方法,当Struts2获得一个请求参数时,就会调用一次。读者可以在这个方法中将所有的请求参数记录下来,以便以后使用。这个方法的定义如下:boolean acceptableParameterName(String parameterName);方法二、使用RequestAware拦截器 这种方法和第1种方法类似。动作类需要实现一个org...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网