Strut1+Spring2+Hibernate3 基础工作代码 流程
2014-03-07 17:31
162 查看
struts配置文件中配置控制跳转:
applicationContext.xml文件中配置:
实现BaseDao类,BaseDao需要继承HibernateDaoSupport类(注:最好提取BaseDao的公用方法写一个IBaseDAO 接口,接口优势可参考List接口的实现,降低程序耦合。)
自己的Dao类实现接口继承BaseDao,数据库的操作在此层完成。示例:
Action中直接调用Service的处理方法,获取List,然后放入request(logic标签直接获取request中的值)
好啦,完工。
效果图:
<action input="/admin/userList.jsp" name="userListForm" path="/admin/userList" scope="request" type="com.bettersoft.admin.UserListAction" validate="false"> <forward name="out" path="/admin/userList.jsp" /> <forward name="success" path="/admin/userList.jsp" /> <forward name="error" path="/error.jsp" /> </action>
applicationContext.xml文件中配置:
<!-- 将session工厂注入BaseDAO --> <bean id="baseDao" class="com.bytter.framework.persistence.dao.BaseDAO"> <property name="sessionFactory"> <ref local="sessionFactory" /> </property> </bean>继承baseDao后spring会直接注入,不用再次写ref属性
<bean id="userDao" class="com.bytter.budget.user.dao.impl.UserDaoImpl" parent="baseDao"> </bean>将Dao注入Service
<bean id="userService" class="com.bytter.budget.item.server.impl.UserServiceImpl"> <property name="userDao"> <ref bean="userDao"/> </property> </bean>
实现BaseDao类,BaseDao需要继承HibernateDaoSupport类(注:最好提取BaseDao的公用方法写一个IBaseDAO 接口,接口优势可参考List接口的实现,降低程序耦合。)
自己的Dao类实现接口继承BaseDao,数据库的操作在此层完成。示例:
public class UserDaoImpl extends BaseDAO implements UserDao { public List findUsersList() throws Exception { List lstUsers = new ArrayList(); String sql = "select * from bt_user order by user_name asc"; lstUsers = this.search_sql(null, "", sql, "", null); return lstUsers; } }接下来是Service层,Service通过set取得Dao对象,通过Dao对数据库进行操作。
List rslist = userDao.findUsersList();//userDao对象直接通过set方法直接获取 List lstUsers = new ArrayList(); Iterator iterator = rslist.iterator();//通过迭代器把查询出来的Object对象转换成Bean的类型的对象然后再放进list中 while(iterator.hasNext()){ Object[] obj=(Object[])iterator.next(); UserBean user = new UserBean(); user.setUser_code(obj[0].toString()); user.setUser_name(obj[1].toString()); user.setPassword(obj[2].toString()); lstUsers.add(user); }//Service处理之后直接给Action返回一个List<User>链表
Action中直接调用Service的处理方法,获取List,然后放入request(logic标签直接获取request中的值)
request.setAttribute("listObject", lstUsers);//list对象放入request中接下来就是jsp页面通过调用logic标签来实现数据的显示
<table class='list' width="50%" border="1" cellspacing="0" cellpadding="1" backgroud="blue"> <tr class="title"> <td nowrap>编码</td> <td nowrap>名称</td> </tr> <logic:empty name="listObject"> <td nowrap colspan="20">没有查询到相关数据!</td> </logic:empty> <logic:iterate id="user" name="listObject"> <tr title='<bean:write name="user" property="corp_code"/>'> <td nowrap><bean:write name="user" property="user_code" /></td> <td nowrap><bean:write name="user" property="user_name" /></td> <td nowrap><bean:write name="user" property="password" /></td> </tr> </logic:iterate> </table>
好啦,完工。
效果图:
相关文章推荐
- 搜索引擎工作的基础流程与原理
- 基础知识普及帖:百度搜索引擎的工作流程
- 搜索引擎工作的基础流程与原理
- 【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
- 深入Atlas 系列:客户端网络访问基础结构(上) - WebRequest的工作流程与生命周期
- 银行ATM机工作流程模拟编程(代码)
- 写代码累了放松娱乐一下,在大型生产型企业成功实施工作审批流程项目的经验分享
- u-boot移植(二)---修改前工作:代码流程分析1
- 搜索引擎工作的基础流程与原理
- 交接工作不要只分析流程和看静态的看代码呀,一定要动手,增加一个功能,解决一个 BUG什么的,才能真正理解交接的工作内容呀!
- JBPM具体流程设计代码基础篇
- 【struts基础】Struts2工作基本流程
- 深入Atlas系列:客户端网络访问基础结构(上) - WebRequest的工作流程与生命周期
- 搜索引擎工作的基础流程与原理
- EF 基础(第二章: 基本工作流程?)
- Gerrit代码审核服务器的工作流程和原理
- 真实工作环境下使用Git提交代码的流程
- FFMPEG-0.11.1分析之ffmpeg结构(简单涉及)与代码流程(主要涉及前部分的准备工作)
- 搜索引擎工作的基础流程与原理
- 搜索引擎工作的基础流程与原理