1 16 package dlog4j.tags; 17 18 import java.sql.SQLException ; 19 import java.util.ArrayList ; 20 import java.util.List ; 21 22 import javax.servlet.jsp.JspException ; 23 24 import dlog4j.formbean.BookMarkBean; 25 import dlog4j.formbean.SiteForm; 26 import dlog4j.formbean.UserForm; 27 28 29 import net.sf.hibernate.HibernateException; 30 import net.sf.hibernate.Query; 31 import net.sf.hibernate.Session; 32 33 37 public class BookmarkTag extends DlogBaseTag { 38 39 String countId = null; 40 boolean list = true; 41 42 public int doStartTag() throws JspException { 43 44 Session ssn = null; 45 UserForm loginUser = getLoginUser(); 46 SiteForm site = getCurrentSite(); 47 List books = null; 48 int bcount = 0; 49 if(loginUser!=null&&loginUser.isLogin()) 50 try { 51 ssn = getSession(); 52 if(list) { 53 String hql = "FROM "+BookMarkBean.class.getName()+" AS b WHERE b.site.id=? AND b.user.id=?"; 54 Query q = ssn.createQuery(hql); 55 q.setInteger(0,site.getId()); 56 q.setInteger(1,loginUser.getId()); 57 books = q.list(); 58 bcount = books.size(); 59 } 60 else { 61 String hql = "SELECT COUNT(b.id) FROM "+BookMarkBean.class.getName()+" AS b WHERE b.site.id=? AND b.user.id=?"; 62 Query q = ssn.createQuery(hql); 63 q.setInteger(0,site.getId()); 64 q.setInteger(1,loginUser.getId()); 65 bcount = ((Integer )q.list().get(0)).intValue(); 66 } 67 }catch(HibernateException e) { 68 e.printStackTrace(); 69 }catch(SQLException e) { 70 e.printStackTrace(); 71 }finally { 72 close(ssn); 73 } 74 if(list) 75 pageContext.setAttribute(id,(books==null)?new ArrayList ():books); 76 pageContext.setAttribute(countId,new Integer (bcount)); 77 78 return SKIP_BODY; 79 } 80 public String getCountId() { 81 return countId; 82 } 83 public void setCountId(String countId) { 84 this.countId = countId; 85 } 86 public boolean isList() { 87 return list; 88 } 89 public void setList(boolean list) { 90 this.list = list; 91 } 92 } 93 | Popular Tags |