2013-11-15 106 views
0

我試圖從表中顯示一些值。我將值傳遞給「user」類的一個對象,該類包含getters和setter,之後將該對象傳遞給列表。但是我無法使用迭代器標記查看jsp文件中的值。 UserDetail類包含test1和test2變量的getters和setter。Struts 2迭代器標記不能在jsp中工作?

請找到下面的代碼。

的success.jsp

​​

test.java

package com.abc; 

import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.util.ArrayList; 

public class test { 

    private String test1; 
    private String test2; 
    ArrayList<UserDetails> list=new ArrayList<UserDetails>(); 

    public String execute() { 
     try { 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test3", "test","test"); 
      PreparedStatement ps=conn.prepareStatement("SELECT * from testtable where data = "+test1); 
      ResultSet rs = ps.executeQuery(); 
      while(rs.next()) { 
       UserDetails user = new UserDetails(); 
       user.setTest1(rs.getInt(1)); 
       user.setTest2(rs.getString(2)); 

       list.add(user); 
      } 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return "SUCCESS"; 
    } 


} 

請指導。

回答

1

沒有設置在您的班級中獲取列表的方法。

public void setList(){} 
public void getList(){} 
1

jsp中的元素沒有綁定到java層中的對象。

如果我需要將Java對象中的內容顯示回JSP,那麼我需要在這兩者之間做一個
引用。 綁定它們。

-1

對象UserDetails應該使用JAVA代碼在JSP中進行映射。在JSP中,您可以引用諸如$ {user.test1}和$ {user.test2}之類的值。