快速业务通道

使用SpringSide 3.1.4.3开发Web项目的全过程(中) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22
是为了列 出所有的文章,所以在该方法中使用了ArticleDao的分页查询,查询结果放在一 个page对象中。在Struts 2中,已经没有了ActionForm的概念,可以直接把 Action对象传递到视图中,为了能够在视图中访问page对象,只需要把page对象 作为 ArticleAction的一个属性即可。先在ArticleAction.java中加入几行代码 :

@Autowired      private ArticleManager articleManager;      public void setArticleManager(ArticleManager  articleManager) {          this.articleManager = articleManager;      }      private Page<Article> page = new  Page<Article>(10);      public Page<Article> getPage() {          return page;      }

可以看到该代码的作用是为了注入ArticleManager和初始化Page对象,此时 list方法的代码就非常简单,如下:

@Override      public String list() throws Exception {          page = articleManager.getAll(page);          return SUCCESS;      }

由于该方法只是简单获取一个页面的Acticle,所以代码很简单,使用 articleManager.getAll方法即可。如果要实现复杂的条件查询,就需要创建一 个包含PropertyFilter对象的列表,然后使用articleManager.search方法进行 查询,为了简化 PropertyFilter对象列表的创建,白衣提供了 HibernateWebUtils.buildPropertyFilters()静态方法供大家使用。

list方法返回的是SUCCESS,因此返回给用户的视图页面为article.jsp,该 页面应该存放在WEB-INF目录的content目录中,这也是Convention插件的一个特 性,这样用户就没有办法直接访问到视图页面了。在该页面中,可以通过访问 page对象来显示数据,如下:

<%@ page language="java" contentType="text/html;  charset=UTF-8"      pageEncoding="UTF-8"%> <%@ include file="/common/taglibs.jsp"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01  Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF -8"> <title>Insert title here</title> </head> <body> <table>      <tr><td><a href="article!input.action">添加文章 </a></td></tr>      <s:iterator value="page.result">          <tr>              <td>${subject}</td>              <td><a href="article!delete.action?id=${id}">删除 </a></td>          </tr>          <tr>              <td>${content}</td>          </tr>      </s:iterator> </table> </body> </html>

如果数据库中有初始数据的话,该项目运行效果如下图:

使用SpringSide 3.1.4.3开发Web项目的全过程(中)(3)

时间:2010-12-20 BlogJava 海边沫沫

到目前为止,还没有涉及到getModel()、prepareModel()、以及prepare系列 的方法,但是,一旦需要添加或者删除文章,这一系列的方法就有作用了。在 Struts 2中,由于没有了ActionForm的概念,所有的页面传入参数都会被注入到 Action中,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号