2016-08-15 42 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

你打印了從表單中讀取的字符串嗎?問題可能是這些不等於存儲的內容(空格在最後,大寫/小寫)