2016-08-15 62 views
0

我对我的程序中的struts2执行方法操作,它验证我网页中的登录表单,检查名为listaUsuarios的ArrayList,其中存储了我的usuarioBean对象,以查找用户名和密码在这些属性中是否相等对于迭代器在struts 2执行方法中没有被识别?

public String executeLogin() { 

    String go = ERROR; 

    for (Usuario u : s.getListaUsuarios()) { 
     if (usuarioBean.getNombreUsuario().equals(u.getNombreUsuario())) { 
      if (usuarioBean.getContrasenna().equals(u.getContrasenna())) { 
       if (u instanceof Administrador) { 
        go="admin"; 
        break; 
       } 
       if (u instanceof Cliente) { 
        go="cliente"; 
        break; 
       } 
       if (u instanceof Proveedor) { 
        go="proveedor"; 
        break; 
       } 
      } 

     } 
    } 

    return go; 
} 

这是不行的,它不验证什么,但如果我把我的登录表单,这个硬编码的方法,它的工作原理,所以我不知道发生了什么

public String executeLogin() { 

    String go = ERROR; 

    if (usuarioBean.getNombreUsuario().equals("jean182")) { 
     if (usuarioBean.getContrasenna().equals("123")) { 
      go = "admin"; 
     } 
    } 
    return go; 
} 
+0

您可以在'return go'行之前放置断点或打印以查看存储在那一刻。它可以帮助您了解正在发生的事情。 – henriquels

+0

它不起作用不知道什么问题。部分代码没有任何线索,代码做的是什么,缺少细节使得完全不可能回答。 –

回答

0

你打印了从表单中读取的字符串吗?问题可能是这些不等于存储的内容(空格在最后,大写/小写)