public String code()
{
//用原生request得到参数
HttpServletRequest hsq=ServletActionContext.getRequest();
String password1=hsq.getParameter("password");
String loginname1=hsq.getParameter("loginname");
System.out.println(password1);
System.out.println(loginname1);
Admindao ad=new Admindao();
List ls=ad.get();
System.out.println(ls);
if(loginname1!=null&&password1!=null)
{
for(int a=0;a<ls.size();a++)
{
String str= ls.get(a).getLoginname();
String str1= ls.get(a).getPassword();
System.out.println(str);
System.out.println(str1);
if(str.equals(loginname1)&&str1.equals(password1))
{
}
}
return "success";
}
你就是 放在最里面的 if 中 外面也要写个 return 啊
if(loginname1!=null&&password1!=null)
{
for(int a=0;a<ls.size();a++)
{
String str= ls.get(a).getLoginname();
String str1= ls.get(a).getPassword();
System.out.println(str);
System.out.println(str1);
if(str.equals(loginname1)&&str1.equals(password1))
{
return "success";
}
}
}
return null;
为什么要放到里面,你的问题是什么?
我想边遍历边判断;如果相等就返回success
if(loginname1!=null&&password1!=null)
{
for(int a=0;a<ls.size();a++)
{
String str= ls.get(a).getLoginname();
String str1= ls.get(a).getPassword();
System.out.println(str);
System.out.println(str1);
if(str.equals(loginname1)&&str1.equals(password1))
{
return "success";
}
}
}
return null;
这样写就可以啊,如果是直接返回null,说明:
1)你输入的loginname1
或password1
有问题
2)ls
中根本就没有和你输入匹配的
应该是在if条件判断有相等的时候就返回success,就是把返回语句挪动到上一行,然后再在方法的最后一行返回error值,说明帐号密码检验不通过。
我的整个代码是这样的
public String code()
{
//用原生request得到参数
HttpServletRequest hsq=ServletActionContext.getRequest();
String password1=hsq.getParameter("password");
String loginname1=hsq.getParameter("loginname");
//System.out.println(password1);
//System.out.println(loginname1);
Admindao ad=new Admindao();
List<Admin_1> ls=ad.get();
//System.out.println(ls);
//String str[]={};
if(loginname1!=null&&password1!=null)
{
for(int a=0;a<ls.size();a++)
{
String str= ls.get(a).getLoginname();
String str1= ls.get(a).getPassword();
System.out.println(str);
System.out.println(str1);
if(str.equals(loginname1)&&str1.equals(password1))
{
return "success";
}
}
}
else
{
return "error";
}
}
可是这样不行啊
因为public String code()方法必须有个返回值,
当你把return放在if中时,如果if条件不满足,相当于方法没有返回值,所以编译器通不过。
如果有个else 里面也有个return就没有问题