SSH框架,将数据库中的书名bookname全部显示在JSP页面上,如何写代码 15
做的是一个售书系统,现在数据库中有书籍的信息,怎么将书籍的信息显示在JSP上?我在dao层写了下面这个,不知道有没错。publicListsearchbook(Listl...
做的是一个售书系统,现在数据库中有书籍的信息,怎么将书籍的信息显示在JSP上?我在dao层写了下面这个,不知道有没错。
public List searchbook(List list) {
String bookName = null;String bookAuthor = null;String bookPress = null;String bookPrice = null;String bookAmount = null;
Session session=HibernateUtils.getSession();
try{
Query query=(Query) session.createQuery("from t_book as b where b.bookName = ? "+"and b.bookAuthor = ?"+"and b.bookPress"+"and b.bookPrice"+"and b.bookAmount");
query.setString(0, bookName);
query.setString(1, bookAuthor);
query.setString(2, bookPress);
query.setString(3, bookPrice);
query.setString(4, bookAmount);
list=query.list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateUtils.closeSession(session);
}
return list;
} 展开
public List searchbook(List list) {
String bookName = null;String bookAuthor = null;String bookPress = null;String bookPrice = null;String bookAmount = null;
Session session=HibernateUtils.getSession();
try{
Query query=(Query) session.createQuery("from t_book as b where b.bookName = ? "+"and b.bookAuthor = ?"+"and b.bookPress"+"and b.bookPrice"+"and b.bookAmount");
query.setString(0, bookName);
query.setString(1, bookAuthor);
query.setString(2, bookPress);
query.setString(3, bookPrice);
query.setString(4, bookAmount);
list=query.list();
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateUtils.closeSession(session);
}
return list;
} 展开
2个回答
展开全部
我怎么觉的你的函数就有问题呀
public List searchbook(List list) ;参数list是干嘛用的,
看函数是查询用的,那参数就应该是一个呀,就算是多个条件,也应该是一个结构体,或多个参数,或是实体类
如 public List searchbook(<T> bookName)
public List searchbook(<T> bookName,<T> bookPrice)
这样的
返回值是数组,那里面的对象就应该直接转换成 实体类型的
你这样用的时候还的再转换
函数重新定义一下
public List searchbook(<T> objbook) {
String bookName = null;
String bookAuthor = null;
String bookPress = null;
String bookPrice = null;
String bookAmount = null;
List<T> list=new ArrayList<T>();
try{
条件是一个的话
Query query=(Query) session.createQuery("from t_book as b where b.bookName = ?
条件是多个的话 。。。。。
"+"and b.bookAuthor = ?
/*
//"+"and b.bookAuthor = ?"+"and b.bookPress"+"and b.bookPrice"+"and b.bookAmount
*/
");
query.setString(0,objbook. bookName);
query.setString(1, objbook.bookAuthor);
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateUtils.closeSession(session);
}
这里肯定有问题,需要强制转换下
用循环语句逐步添加
list.add(query.list());
return list;
}
jsp页面
JSP页面用for循环list就行了
<table >
<%
List l= searchbook(<T> objbook);
for (int i = 0; i < l.size(); i++) {
%>
<tr>
<td>
<% =l[i].bookName %>
</td>
<td>
<% =l[i].bookAuthor %>
</td>
.............................................下来就不写了
</tr>
<%
}
%>
</table>
public List searchbook(List list) ;参数list是干嘛用的,
看函数是查询用的,那参数就应该是一个呀,就算是多个条件,也应该是一个结构体,或多个参数,或是实体类
如 public List searchbook(<T> bookName)
public List searchbook(<T> bookName,<T> bookPrice)
这样的
返回值是数组,那里面的对象就应该直接转换成 实体类型的
你这样用的时候还的再转换
函数重新定义一下
public List searchbook(<T> objbook) {
String bookName = null;
String bookAuthor = null;
String bookPress = null;
String bookPrice = null;
String bookAmount = null;
List<T> list=new ArrayList<T>();
try{
条件是一个的话
Query query=(Query) session.createQuery("from t_book as b where b.bookName = ?
条件是多个的话 。。。。。
"+"and b.bookAuthor = ?
/*
//"+"and b.bookAuthor = ?"+"and b.bookPress"+"and b.bookPrice"+"and b.bookAmount
*/
");
query.setString(0,objbook. bookName);
query.setString(1, objbook.bookAuthor);
}catch(Exception e){
e.printStackTrace();
}finally{
HibernateUtils.closeSession(session);
}
这里肯定有问题,需要强制转换下
用循环语句逐步添加
list.add(query.list());
return list;
}
jsp页面
JSP页面用for循环list就行了
<table >
<%
List l= searchbook(<T> objbook);
for (int i = 0; i < l.size(); i++) {
%>
<tr>
<td>
<% =l[i].bookName %>
</td>
<td>
<% =l[i].bookAuthor %>
</td>
.............................................下来就不写了
</tr>
<%
}
%>
</table>
追问
刚刚试了一下,还有一些错误,我学得有点差,能教教我么?分我可以加,你能帮我写一个能运行的吗?只要能从数据库中获取数据,在JSP页面显示出来就好,用SSH框架的。
追答
list = new java.util.ArrayList();
list.add(new Tbook("aa", 42.5, "abcdefgffffffffff"));
list.add(new Tbook("bb", 45.5, "abcdefggggggggggg"));
list.add(new Tbook("cc", 37.5, "abcdefghhhhhh"));// 声明一个集合对象,并且添加进内容
%>
书籍名称
书籍单价
书籍作者
只要理解了上面的jsp代码,页面显示就没问题了,ssh框架就没必要用了,找麻烦不是,框架返回的也是个list类型的集合,循环显示出来就好
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询