HTML前台发送请求代码:

 <tr>
<td>选择收派时间</td>
<td>
<input type="text" name="takeTimeId" class="easyui-combobox" required="true"
data-options="url:'../../taketime_findAll.action',
valueField:'id',textField:'name'" />
</td>
</tr>

TakeTimeAction代码:

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

抽取的Action公共类BaseAction代码:

 public abstract class BaseAction<T> extends ActionSupport implements
ModelDriven<T> {
// 模型驱动
protected T model;
@Override
public T getModel() {
return model;
}
// 构造器 完成model实例化
public BaseAction() {
// 构造子类Action对象 ,获取继承父类型的泛型
// AreaAction extends BaseAction<Area>
// BaseAction<Area>
Type genericSuperclass = this.getClass().getGenericSuperclass();
// 获取类型第一个泛型参数
ParameterizedType parameterizedType = (ParameterizedType) genericSuperclass;
Class<T> modelClass = (Class<T>) parameterizedType
.getActualTypeArguments()[0];
try {
model = modelClass.newInstance();
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
System.out.println("模型构造失败...");
}
}
// 接收分页查询参数
protected int page;
protected int rows;
public void setPage(int page) {
this.page = page;
}
public void setRows(int rows) {
this.rows = rows;
}
// 将分页查询结果数据,压入值栈的方法
protected void pushPageDataToValueStack(Page<T> pageData) {
Map<String, Object> result = new HashMap<String, Object>();
result.put("total", pageData.getTotalElements());
result.put("rows", pageData.getContent());
ActionContext.getContext().getValueStack().push(result);
}
}

收派时间接口TakeTimeService代码:

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

收派接口实现类TakeTimeServiceImpl代码:

 @Service
@Transactional
public class TakeTimeServiceImpl2 implements TakeTimeService2 {
@Autowired
private TakeTimeRepository2 takeTimeRepository;
@Override
public List<TakeTime> findAll() {
return takeTimeRepository.findAll();
}
}

dao层TakeTimeRepository代码:

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

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

  1. SSH框架整合--applicationContext.xml文件配置实例

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  2. java:Session(概述,三层架构实例(实现接口封装JDBC),Session实现简单购物车实例)

    1.Session概述: Session:在计算机中,尤其是在网络应用中,称为“会话控制”.Session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存 ...

  3. SSH框架整合思想

    --------------------siwuxie095                                 SSH 框架整合思想         1.SSH 框架,即 Struts2 ...

  4. Spring+Hibernate+Struts(SSH)框架整合

    SSH框架整合 前言:有人说,现在还是流行主流框架,SSM都出来很久了,更不要说SSH.我不以为然.现在许多公司所用的老项目还是ssh,如果改成流行框架,需要成本.比如金融IT这一块,数据库dao层还 ...

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

    JAVA三层架构,持久层,业务层,表现层的理解 转载:http://blog.csdn.net/ljf_study/article/details/64443653 SSH: Struts(表示层)+ ...

  6. SSH框架整合

    SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...

  7. SSH框架整合过程总结

    ---------------------siwuxie095                                 SSH 框架整合过程总结         (一)导入相关 jar 包(共 ...

  8. dwr与ssh框架整合教程

    (1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开 发人员开发包含AJ ...

  9. JavaWeb学习之三层架构实例(三)

    引言 通过上一篇博客JavaWeb学习之三层架构实例(二)我们基本上已经实现了对学生信息列表的增删改查操作(UI除外),但是不难看出,代码冗余度太高了,尤其是StudentDao这个类,其中的增删改查 ...

随机推荐

  1. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(一)转载自码农网

    CentOS 是一个工业标准的 Linux 发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...

  2. javascript:针对yyyy-MM-dd hh:mm:ss格式的毫秒转换.

    javascript:针对yyyy-MM-dd hh:mm:ss格式的毫秒转换. 时间 2015-11-07 22:18:39  HideHai's blog 原文  http://www.hideh ...

  3. C. Magic Ship cf 二分

    C. Magic Ship time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  4. Unicode与UTF-8关系

    Unicode字符集合 Unicode 也称为 UCS(Universal Coded Character Set:国际编码字符集合) 是一个字符集合. 对世界上大部分的文字系统进行了整理,编码,使电 ...

  5. VS CODE 快捷键

    批量注释 alt + shift +a 单行注释 ctrl +/ 批量文本替换 ctrl +f2 https://www.cnblogs.com/shine-lee/p/10234378.html

  6. 【转】curl命令总结,Http Post_Get 常用

    curl命令总结 curl 是一个利用URL语法在命令行方式下工作的文件传输工具.它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE ...

  7. ④---在Eclipse中导入GIT项目

    Eclipse中导入GIT项目 以下将为大家介绍如何在Eclipse中导入GIT项目. 一.在Eclipse中安装GIT 1首先打开Eclipse,然后点击Help>Install New So ...

  8. GT--记录android app消耗的cpu/内存/流量/电量

    腾讯GT简介: 此apk是一款可以对APP进行测试的软件,可以在任何情况下快速测试手机app的CPU.内存.流量.电量.帧率/流畅度等性能测试.有安卓版本和ios版本,分别下载 1.下载腾讯GT ht ...

  9. Spring-boot 编写hello world

    项目启动时出现如下报错信息: Unrecognized VM option 'TieredStopAtLevel=1' Could not create the Java virtual machin ...

  10. 【Python】动手分析天猫内衣售卖数据,得到你想知道的信息

    大家好,希望各位能怀着正直.严谨.专业的心态观看这篇文章.ヾ(๑╹◡╹)ノ" 接下来我们尝试用 Python 抓取天猫内衣销售数据,并分析得到中国女性普遍的罩杯数据.最受欢迎的内衣颜色是什么 ...