2014-02-09 61 views
0

我需要調用一個我不想使用scriptlets的類形式的jsp。我不確定要不要在這裏使用tld或其他東西。我只是需要一個暗示在jsp中調用java類的功能而不使用scriptlet

因此,使用sciplets它像這樣在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中的請求中設置數據。

回答

2

。你可以用「useBean的」訪問JSP中的類,那麼你可以通過參數調用類的方法和處理

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

該方法將返回在其上名單你可以在jsp中迭代。

+0

好吧,但我怎麼能傳遞兩個參數到我的函數中,因爲使用jsp:setPropery我可以只設置一個bean的參數 –

+0

你這樣做正確。非常好! – Pankaj

+0

謝謝我得到它 \t \t \t \t \t \t \t $ {item.period} \t \t \t –

相關問題