不使用jsp中的scriptlet调用java类函数

时间:2014-02-09 14:10:41

标签: java jsp servlets jstl

我需要调用一个类表单jsp,我不想使用scriptlets。我不确定要在这里使用tld还是其他东西。我只需要一个提示

所以使用sciplet就像在jsp中一样

<table width="99%" border="0" cellspacing="0" cellpadding="0">
 <%   sql= "select class,period,sub from timetable where uid='"+uid+"' " ;
                           rs = stmt.executeQuery(sql) ;
                           while (rs.next()) {      
                           %>

                            <tr>
                              <td class="table_img"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                                <tr>
                                  <td width="33%" height="19" class="notice_text"><div align="center"><%=rs.getString(2)%></div></td>
                                  <td width="29%" class="notice_text"><div align="center"><%=rs.getString(1)%></div></td>
                                  <td width="38%" class="notice_text"><div align="center"><%=rs.getString(3)%></div></td>
                                </tr>
                              </table></td>
                            </tr> 
                            <%                 }            %>
                          </table>    

所以首先我创建一个类和函数来获取这样的数据

public class TrHome extends ConnectionClass{


    public List<TimeTablePojo> getTimeTableDetails(String scid, String uid){
        Statement statement = getStatement();//getting connection form extended class
        ResultSet resultSet = null;
        String query = "select class,period,sub from timetable where uid='"+uid+"' " ;
        List<TimeTablePojo> listPojo = new ArrayList<TimeTablePojo>();
        try{
        resultSet = statement.executeQuery(query);
            while(resultSet.next()){
                TimeTablePojo tPojo = new TimeTablePojo();
                tPojo.setClas(resultSet.getString(1));
                tPojo.setPeriod(resultSet.getInt(2));
                tPojo.setSub(resultSet.getString(3));
                listPojo.add(tPojo);
            }
        }catch(SQLException se){
            System.err.println("sql exception in getTimeTableDetails(String scid, String uid) in TrHome.java : "+se);
        }finally{
            closeResultSet(resultSet);
            closeConnection();//closing connection
        }
        return listPojo;
    }

}   

但是现在我不知道如何创建这个类的对象并调用此函数来获取jsp.Well中的数据后,我可以使用jstl迭代它,但问题是如何调用此函数。根据我的理解,我必须创建tld。是正确还是有办法通过?另外,我不想在servlet中的请求中设置数据。

1 个答案:

答案 0 :(得分:2)

。你可以使用'useBean'来访问jsp中的类,然后你可以通过传递参数来调用类的方法并处理

<jsp:useBean id="connBean" 
                class="packageName.TrHome ">

该方法将返回您可以在jsp中迭代的列表。