request.getParameter()的问题?

jinsanqi 2003-04-02 01:53:07
<input type="text" name="aa" >
Servlet用String A=request.getParameter("aa")如果控件aa没值输值,
A得到的会是什么,怎么我有时候得到null,有时候是空.真奇怪.
...全文
30 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
WAPQQ 2003-04-02
String A=request.getParameter("aa");

if(A==null){
System.out.println("1");
}else if(A.equals("null")){
System.out.println("2");
}else if(A.equals("")){
System.out.println("3");
}else{
System.out.println("4");
}

在这里可以看到A有时得到“null”字符串
回复
playgb 2003-04-02
null
回复
jinsanqi 2003-04-02
我测试了一下,如果是文本框,那么即使没有输入servlet收到的也是空而不是null,如果是select,如果没有选中那么servlet会收到null,如果是同名控件数组,也会出现null,不知道哪位大侠有更概括的讲一讲,这其中到底是为什么.
回复
vickler 2003-04-02
不信你判断一次后输出一下,只要aa存在,传过来是空值,不是null
回复
JikLiu 2003-04-02
应该是无值,而不是“空值”
这是肯定的了,所以先要判断是否为NULL
if(A!=null){
在使用有关String 的方法,如equals、trim等
}
否则可能抛出异常
回复
zhouzm 2003-04-02
String A=null 跟String A=""有区别吗?
回复
vickler 2003-04-02
如果输入框aa没有输入,那么传过来的是空字符串!!!,不是null,如果在提交页没有aa这个输入框,那么在处理页取request.getParameter("aa")是个null对象,在toString()后不能再trim(),否则会出现nullpointer错误。
回复
vickler 2003-04-02
String A=request.getParameter("aa")?
这句话就要出错,也不知道你那编译器是怎么编译的。

String A=request.getParameter("aa").toString();
String confirmstr = "";
if (A.equals(confirmstr))
out.println("空值");
回复
outlier 2003-04-02
不是那么可定吧。我看WASD里面的生成的struts Action的时候先是检查是否为null,然后再判断其长度是否<0的哦。
回复
zhouzm 2003-04-02
aa没有输入A当然是null了!
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-04-02 01:53
社区公告
暂无公告