Struts 2 Iterator标签在jsp中不起作用?

时间:2013-11-15 07:55:08

标签: java jsp java-ee struts2 iterator

我正在尝试从表中显示一些值。我将值传递给“user”类的对象,该对象包含getters和setter,然后在列表中传递对象。但是,我无法使用iterator标记查看jsp文件中的值。 UserDetail类包含test1和test2变量的getter和setter。

请找到以下代码。

的success.jsp

<%@ taglib uri="/struts-tags" prefix="s" %>  
<html>
<head>
<title></title>
</head>
<body>      
    <h3>All Records:</h3>  
    <s:iterator value="list">  
    <fieldset>  
    <s:property value="test1"/><br/> 
    <s:property value="test2"/><br/>  
</fieldset>
    </s:iterator>  
</body>
</html>

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";
    }


}

请指南。

3 个答案:

答案 0 :(得分:1)

没有为您的班级中的列表设置get方法。

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

答案 1 :(得分:1)

jsp中的元素未绑定到java层中的对象。

如果我需要将Java对象的内容显示回JSP,我需要制作一个 两者之间的参考。 绑定他们。

答案 2 :(得分:-1)

对象UserDetails应该使用JAVA代码映射到JSP中。在JSP中,您可以引用$ {user.test1}和$ {user.test2}等值。