CategoryDao类
public Category loadCategoryAndDirectory(int id) {
Category category = null;
try {
session = HibernateFilter.getSession(); // 获取Session对象
session.beginTransaction(); // 开启事物
// HQL查询语句
String hql = "select a from Category a join fetch a.Directory b where a.id = "
+ id;
category = (Category) session.createQuery(hql) // 创建Query对象
.uniqueResult(); // 单值检索
session.getTransaction().commit(); // 提交事物
} catch (Exception e) {
e.printStackTrace(); // 打印异常信息
session.getTransaction().rollback(); // 回滚事物
}
return category;
}在Action类中调用.loadCategoryAndDirectory方法
public ActionForward findInfoClass(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
CategoryForm cf = (CategoryForm)form;
if (cf.getId() > 0) {
CategoryDao dao = new CategoryDao();
Category list= dao.loadCategoryAndDirectory(cf.getId());
request.setAttribute("cs", list);
取出数据库的数据后,接下来不知怎么遍历取值了。代码如下:
response.setContentType("text/xml; charset=utf-8");
StringBuffer responseXML = new StringBuffer("<mores>");
if cs != null && cs.size() > 0) {
responseXML.append("<moreinfo>");
responseXML.append("<moreid>0</moreid>");
responseXML.append("<morename>请选择小类</morename>");
responseXML.append("</moreinfo>");
while (it.hasNext()) {
responseXML.append("<moreinfo>");
responseXML.append("<moreid>" + cs.getClassid() + "</moreid>");
responseXML.append("<morename>" + cs.getClassname()
+ "</morename>");
responseXML.append("</moreinfo>");
}
}
responseXML.append("</mores>");
上面的代码肯定有问题,请教高手指教怎么修改?谢谢!!
------解决思路----------------------
response.setContentType("text/xml; charset=utf-8");
StringBuffer responseXML = new StringBuffer("<mores>");
if cs != null && cs.size() > 0) {
responseXML.append("<moreinfo>");
responseXML.append("<moreid>0</moreid>");
responseXML.append("<morename>请选择小类</morename>");
responseXML.append("</moreinfo>");
while (it.hasNext()) {
responseXML.append("<moreinfo>");
responseXML.append("<moreid>" + cs.getClassid() + "</moreid>");
responseXML.append("<morename>" + cs.getClassname()
+ "</morename>");
responseXML.append("</moreinfo>");
}
}
responseXML.append("</mores>");把它移到jsp页面来