SSH框架整合实现Java三层架构实例(一)

HTML前台发送请求代码:

1 <tr>
2     <td>选择收派时间</td>
3     <td>
4         <input type="text" name="takeTimeId" class="easyui-combobox" required="true"
5             data-options="url:‘../../taketime_findAll.action‘,
6             valueField:‘id‘,textField:‘name‘" />
7     </td>
8 </tr>

TakeTimeAction代码:

 1 @Namespace("/")
 2 @ParentPackage("json-default")
 3 @Controller
 4 @Scope("prototype")
 5 public class TakeTimeAction2 extends BaseAction<TakeTime> {
 6     @Autowired
 7     private TakeTimeService2 takeTimeService;
 8     @Action(value="taketime_findAll",results={@Result(name="success",type="json")})
 9     public String findAll(){
10         //调用业务层,查询所有收派时间
11         List<TakeTime> taketime = takeTimeService.findAll();
12         //压入值栈返回
13         ActionContext.getContext().getValueStack().push(taketime);
14         return SUCCESS;
15     }
16 }

抽取的Action公共类BaseAction代码:

 1 public abstract class BaseAction<T> extends ActionSupport implements
 2         ModelDriven<T> {
 3     // 模型驱动
 4     protected T model;
 5     @Override
 6     public T getModel() {
 7         return model;
 8     }
 9     // 构造器 完成model实例化
10     public BaseAction() {
11         // 构造子类Action对象 ,获取继承父类型的泛型
12         // AreaAction extends BaseAction<Area>
13         // BaseAction<Area>
14         Type genericSuperclass = this.getClass().getGenericSuperclass();
15         // 获取类型第一个泛型参数
16         ParameterizedType parameterizedType = (ParameterizedType) genericSuperclass;
17         Class<T> modelClass = (Class<T>) parameterizedType
18                 .getActualTypeArguments()[0];
19         try {
20             model = modelClass.newInstance();
21         } catch (InstantiationException | IllegalAccessException e) {
22             e.printStackTrace();
23             System.out.println("模型构造失败...");
24         }
25     }
26     // 接收分页查询参数
27     protected int page;
28     protected int rows;
29     public void setPage(int page) {
30         this.page = page;
31     }
32     public void setRows(int rows) {
33         this.rows = rows;
34     }
35     // 将分页查询结果数据,压入值栈的方法
36     protected void pushPageDataToValueStack(Page<T> pageData) {
37         Map<String, Object> result = new HashMap<String, Object>();
38         result.put("total", pageData.getTotalElements());
39         result.put("rows", pageData.getContent());
40     ActionContext.getContext().getValueStack().push(result);
41     }
42 }

收派时间接口TakeTimeService代码:

1 public interface TakeTimeService2 {
2     //查询所有收派时间
3     List<TakeTime> findAll();
4 }

收派接口实现类TakeTimeServiceImpl代码:

 1 @Service
 2 @Transactional
 3 public class TakeTimeServiceImpl2 implements TakeTimeService2 {
 4     @Autowired
 5     private TakeTimeRepository2 takeTimeRepository;
 6     @Override
 7     public List<TakeTime> findAll() {
 8         return takeTimeRepository.findAll();
 9     }
10 }

dao层TakeTimeRepository代码:

1 public interface TakeTimeRepository2 extends JpaRepository<TakeTime, Integer> {}

原文地址:https://www.cnblogs.com/niwotaxuexiba/p/8117127.html

时间: 2024-11-09 00:59:24

SSH框架整合实现Java三层架构实例(一)的相关文章

ssh框架整合实例

MyEclipse开发SSH(Struts+Spring+Hibernate)入门 Spring技术   2009-02-03 15:59   阅读328   评论0 字号: 大大  中中  小小 2008-01-31 01:31 (本文参考自 oksonic 的"Struts+Spring+Hibernate练习(完整)") 源码下载:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=2857703 注意:这个实例要加入

SSH框架整合总结

SSH 框架为 Struts + Spring + Hibernate 的一个集成框架,是目前较流行的一种 web 应用程序开源框架. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰.可复用性好.维护方便的Web应用程序.其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate.具

【转载】 JAVA三层架构,持久层,业务层,表现层的理解

JAVA三层架构,持久层,业务层,表现层的理解 转载:http://blog.csdn.net/ljf_study/article/details/64443653 SSH: Struts(表示层)+Spring(业务层)+Hibernate(持久层) Struts: Struts是一个表示层框架,主要作用是界面展示,接收请求,分发请求. 在MVC框架中,Struts属于VC层次,负责界面表现,负责MVC关系的分发. (View:沿用JSP,HTTP,Form,Tag,Resourse : Co

SSH框架整合过程总结

---------------------siwuxie095 SSH 框架整合过程总结 (一)导入相关 jar 包(共 41 个) 1.导入 Spring 的核心 jar 包和日志相关的 jar 包(6 个) Commons Logging 下载链接: http://commons.apache.org/proper/commons-logging/download_logging.cgi LOG4J 下载链接: https://www.apache.org/dist/logging/log4

SSH框架整合

ssh框架整合步骤如下 提示:myeclipse环境.工程环境.tomcat环境的jdk保持一致 1.新建一个工程,把工程的编码为utf-8 2.把jsp的编码形式改成utf-8 3.把jar包放入到lib下 4.建立三个src folder src 存放源代码 config 存放配置文件 hibernate 存放hibernate的配置文件 spring 存放spring的配置文件 struts 存放struts的配置文件 struts.xml test 存放单元测试 5.在src下建立包 c

【课程分享】jQuery2.0应用开发:SSH框架整合jQuery2.0实战OA办公自动化(VSS、operamasks-UI框架)

我的qq是2059055336,对这个课程有兴趣的可以加我qq联系. 课程下载地址:链接:http://pan.baidu.com/share/link?shareid=395438909&uk=3611155194 密码:mlvl 课程下载地址:http://www.kuaipan.cn/file/id_192202874577496484.htm?source=1 一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景 jQuery 2.0 正式版发布,不在支持 IE 6/7/8

dwr与ssh框架整合教程

(1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开 发人员开发包含AJAX技术的网站.它可以允许 在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样.它包含两个主要的部 分:允许JavaScript从WEB服务器上一 个遵循了AJAX原则的Servlet中获取数据.另外一方面一个JavaScript库可以帮助网站 开发人员轻松地利用获取的数

J2EE进阶(十一)SSH框架整合常见问题汇总(二)

J2EE进阶(十一)SSH框架整合常见问题汇总(二) 问题8 java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean      解决 数据库中userdetail表的映射文件如下,可见xb字段数据类型为boolean类型,而自己在userdetail模型类中定义的类型为String类型.为此可以得出这样的结论.模型类中的数据及类型必须与数据表映射文件中的字段信息保持一致.应该可以同时生成

SSH框架整合的其它方式

--------------------siwuxie095 SSH 框架整合的其它方式 1.主要是整合 Spring 框架和 Hibernate 框架时,可以不写 Hibernate 核心配置文件:hibernate.cfg.xml 2.把Hibernate 核心配置文件中的配置全都转移到 Spring 核心配置文件中 3.具体实现 applicationContext.xml: <?xml version="1.0" encoding="UTF-8"?&g