Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jsp中不使用scriptlet调用java类函数_Java_Jsp_Servlets_Jstl - Fatal编程技术网

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

在jsp中不使用scriptlet调用java类函数,java,jsp,servlets,jstl,Java,Jsp,Servlets,Jstl,我需要调用一个我不想使用Scriptlet的类表单jsp。我不确定在这里使用tld还是其他什么。我只需要一个提示 所以在jsp中使用sciplets是这样的 <table width="99%" border="0" cellspacing="0" cellpadding="0"> <% sql= "select class,period,sub from timetable where uid='"+uid+"' " ;

我需要调用一个我不想使用Scriptlet的类表单jsp。我不确定在这里使用tld还是其他什么。我只需要一个提示

所以在jsp中使用sciplets是这样的

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

}   
公共类TrHome扩展了ConnectionClass{
公共列表getTimeTableDetails(字符串scid、字符串uid){
Statement Statement=getStatement();//从扩展类获取连接
ResultSet ResultSet=null;
String query=“从时间表中选择类、时段、子类,其中uid=”+uid+”;
List listPojo=new ArrayList();
试一试{
resultSet=语句.executeQuery(查询);
while(resultSet.next()){
TimeTablePojo tPojo=新的TimeTablePojo();
setClas(resultSet.getString(1));
tPojo.setPeriod(resultSet.getInt(2));
tPojo.setSub(resultSet.getString(3));
添加(tPojo);
}
}捕获(SQLSE异常){
System.err.println(“TrHome.java:+se中getTimeTableDetails(字符串scid,字符串uid)中的sql异常);
}最后{
关闭结果集(结果集);
closeConnection();//正在关闭连接
}
返回listPojo;
}
}   

但现在我不知道如何创建这个类的对象并调用这个函数来获取jsp中的数据。根据我的理解,我必须创建tld。这是正确的还是有一种方法可以通过?另外,我不想在servlet的请求中设置数据。

您可以使用“useBean”访问jsp中的类,然后通过传递参数调用该类的方法并处理

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


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

好的,但是我如何使用jsp:setPropery将两个参数传递给我的函数我可以设置一个bean onlytanks参数,我得到它${item.period}