在一个JSP页面需要传递过来的参数 username
刚才没有传参数,直接敲地址进去.发现地址栏显示的是 username=null
我赶紧去看看我页面上对用户名的判断request.setCharacterEncoding("GBK");
String username = request.getParameter("username");
if(username == null || username.trim().equals("")){
response.sendRedirect("error.jsp?errorid=5");
return;
}
//这是我之前写的判断
//我又加了一句输出username的值
System.out.println(username);
System.out.println(username.length());
// 打印结果 null 4
//不解,就又做实验,接收一个不存在的参数
String test = request.getParameter("test");
System.out.println(test);
//System.out.println(test.length());
//这时候打印结果还是 null ,但是不能调用 length()方法了.报空指针异常
//我又做了如下判断
if(username==null||username.equals(null)){
System.out.println("111处成功");
}
if(username.equals("null")){
System.out.println("222处成功");
}打印结果是 222处成功.这里的null为什么被转义了?
谁帮忙解释下
刚才没有传参数,直接敲地址进去.发现地址栏显示的是 username=null
我赶紧去看看我页面上对用户名的判断request.setCharacterEncoding("GBK");
String username = request.getParameter("username");
if(username == null || username.trim().equals("")){
response.sendRedirect("error.jsp?errorid=5");
return;
}
//这是我之前写的判断
//我又加了一句输出username的值
System.out.println(username);
System.out.println(username.length());
// 打印结果 null 4
//不解,就又做实验,接收一个不存在的参数
String test = request.getParameter("test");
System.out.println(test);
//System.out.println(test.length());
//这时候打印结果还是 null ,但是不能调用 length()方法了.报空指针异常
//我又做了如下判断
if(username==null||username.equals(null)){
System.out.println("111处成功");
}
if(username.equals("null")){
System.out.println("222处成功");
}打印结果是 222处成功.这里的null为什么被转义了?
谁帮忙解释下
如果jsp页面不赋值的话地址栏会显示成username=所以不满足以下条件
if(username == null || username.trim().equals("")){
response.sendRedirect("error.jsp?errorid=5");
return;
}所以username的值为“null”,username.length()的值为4。
username=null 这个username 的值应该 是“null”
应该是因为从Action并没有给页面传递username但是由于jsp页面中不恰当的书写(比如6楼所举例子),在jsp中username被赋值了"null",之后再出口返内销传回Action
1、System.out.println("------ " + username) ;2、看看页面中的input 的name是不是username ;