`
hi_app
  • 浏览: 78563 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

11月8号到11月18号的hibernate+struts2.0编程日记

阅读更多
1、Unhandled exception type Exception
说明你定义的函数要抛出一个exception.

2、在页面获取action中的属性的时候就要必须写对了。在页面中获取对应的值在action中要写对应的setter和getter方法,才能获取到表单或者地址栏传过来的 参数。

3、同时执行多个action最后是跳到同一个页面。通过一个type="chain"来调转到下一个要执行到的action。


	            <!--显示前五条留言记录  -->
	        <action name="top_five_message_list" class="com.sipu.wcme.action.LeaveMessageAction" method="queryTopFiveMessage">
   			<result type="chain" >top_five_news_list</result>   				
	        </action>    
	            <!--显示前五条新闻列表记录  -->
	        <action name="top_five_news_list" class="com.sipu.wcme.action.NewsAction" method="queryTopFiveNewsInfo">
	        
   				<result>../news_info.jsp</result>   				
	        </action>    



4、获取页面传过去到action的参数要在action中定义成为属性。
[size=medium]5、当将具有html格式的文字从数据库里面取出来的时候就要用[/size
]<s:iterator value="#request.nv" >
	${nv.content}

</s:iterator>

这样html标签就不会显示在页面上了。

6、在用struts2.0标签来判断从数据取出来的数据是否为空的时候有三重方法
6.1、
		<s:if test="#request.nv.imgurl!=''">
		<DIV style="TEXT-ALIGN: center; PADDING-BOTTOM: 20px">
		<IMG title=访大会业务办主任文仲亮 border=0 src="http://127.0.0.1:8080/wcme2.0/upload/NewImgs/<s:property value="#request.nv.imgurl" />">
		<BR><BR></DIV>

		</s:if>	

6.2、
<s:if test="#request.nv.imgurl!=null">
6.3、
<s:if test="not empty (#request.nv.imgurl)">

6.4、在iterator中判断数据库里面取出来的值是否为空。

  <s:iterator value="#request.pm.datas">
  <LI><A class="black14" 
  href="newscenter/message/an_article_recored.action?id=<s:property value="id"/>"><s:property value="title"/>

  <s:if test="imgurl!=''">
  <IMG src="images/newscenter_images/info/ico_img.gif">
  </s:if>
  </A> 
  (<s:property value="time"/>) </LI>

</s:iterator>	

7、新闻分类查询

	/**
	 * 得到留言的数据和总数记录数。
	 * @param offset 起始的记录数
	 * @param pagesize 每一页显示多少条记录
	 * @return
	 * @throws Exception 
	 */

	public PagerModel queryNewsInfo(int offset,int pagesize,int typeid)throws Exception {
		List<News> list = new ArrayList<News>();
		
		
		//或得所有留言的数据(数据库里面的一张表)
		String hql="select a from News as a where a.typeid=:typeid";
		//或得留言的总记录数。
		String hqlCount = "select count(id) from News as a where a.typeid=:typeid";
		PagerModel pm = null;
		
		try {
			Session session = HibernateSessionFactory.getSession();
			session.beginTransaction();

			//得到总的记录数。
			int total = ((Long) session.createQuery(hqlCount).setInteger("typeid",typeid).uniqueResult())
					.intValue();
			//在总记录数中取出一页的记录(从offset开始取出pagesize条记录来)放在一个list中。
			 list = session.createQuery(hql).setInteger("typeid",typeid).setFirstResult(offset)
					.setMaxResults(pagesize).list();
			 //将取出来的一页的数据和留言的总记录数放到一个对象中。
			pm = new PagerModel();
			//记录集数据。
			pm.setDatas(list);
			//总记录数。
			pm.setTotal(total);
			session.beginTransaction().commit();
			session.flush();
			HibernateSessionFactory.closeSession();
		} catch (HibernateException e) {
			e.getMessage();
			e.printStackTrace();
			throw(e);
		} catch(Exception e ){
			e.getMessage();
			e.printStackTrace();
			throw(e);
		}
		return pm;
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics