请问:getParameterValues()和getParameter()有什么区别吗?

gogola 2003-04-09 01:40:23
还有一个小问题,在一个页面里面如何知道从上一个页面传来的值是否为空呢?request.getParameterValues("logname")!=null不行呀,我试过好多遍了,为什么呢?
...全文
60 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunyuex 2003-04-09
  • 打赏
  • 举报
回复
判断是否“空”:
Enumeration e = (Enumeration)request.getParameterValues("name");
if (e.hasMoreElements())………………

或:
String s = (String)request.getParameter("name");
if (s.equals(""))……………………
kyouyouCafe 2003-04-09
  • 打赏
  • 举报
回复
request.getParameterValues()得到的是个数组~
request.getParameter()得到的是个字串.
Jacky1206 2003-04-09
  • 打赏
  • 举报
回复
当你所提交的form里面有多个名字一样的input元素时(比如,名字是aaa),你希望得到这个aaa的属性值,但是由于有多个aaa,所以必须得到一个aaa的值表,此时,就需要使用getParameterValues()取得多个值,而getParameter()只是得到一个值
yzxasd 2003-04-09
  • 打赏
  • 举报
回复
request.getParameterValues 当要获取多个同名参数时用

request.getParameter获取单个参数

这样用request.getParameterValues
String names[] = request.getParameterValues("names");
for(int i=0;i<names.length;i++){
out.println(names[i]);
}
(function(){ //定义外部接口 //Request开放接口给外部,提供两个接口:getParameter和getParameterValues //这样外部的JavaScript文件就可以通过调用Request.getParameter()来执行相应的动作 Request = { getParameter:getParameter, getParameterValues:getParameterValues }; //得到URL后的参数,例如URL:http://abc?x=1&y=2 //那么getParameter("x") 得到1 function getParameter(paraName,wnd) { //如果不提供wnd参数,则默认为当前窗口 if(wnd == null) wnd = self; //得到地址栏上“?”后边的字符串 var paraStr = wnd.location.search.slice(1); //根据“&”符号分割字符串 var paraList = paraStr.split(/\&/g); for (var i = 0; i < paraList.length; i++) { //用正则表达式判断字符串是否是“paraName=value”的格式 //关于正则表达式的内容在本书的第10章中有较详细的讨论 var pattern = new RegExp("^"+paraName+"[?=\\=]","g"); if(pattern.test(paraList[i])) { //若是,则返回解码后的value的内容 return decodeURIComponent(paraList[i].split(/\=/g)[1]); } } } //如果有多个重复的paraName的情况下,下面这个方法返回一个包含了所有值的数组 //例如http://abc?x=1&x=2&x=3 ,getParameterValues("x")得到[1,2,3] function getParameterValues(paraName,wnd) { if(wnd == null) wnd = self; var paraStr = wnd.location.search.slice(1); var paraList = paraStr.split(/\&/g); var values = new Array(); for (var i = 0; i < paraList.length; i++) { //上面的判断部分和getParameter()方法类似 //区别是对应每一个paramName的value有多个 var pattern = new RegExp("^"+paraName+"[?=\\=]","g"); if(pattern.test(paraList[i])) { //将所有满足paramName=value的结果的value都放入一个数组中 values.push(decodeURIComponent(paraList[i].split(/\=/g)[1])); } } //返回结果数组 return values; } })(); 输出如下: <script type="text/javascript" src="客户端模拟服务器端的Request发送和获得参数.js">Parameter("a")) document.write("
"+document.URL)

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧