在jsp中不使用scriptlet调用java类函数
我需要调用一个我不想使用Scriptlet的类表单jsp。我不确定在这里使用tld还是其他什么。我只需要一个提示 所以在jsp中使用sciplets是这样的在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+"' " ;
<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}