ssmWeb开发框架_2014-01
一直在准备做一套系统, 具体用来干什么都没确定. 只是从纯技术人员的想法, 先搭建一套开发的框架. 做的时候才发现, 系统用途不同, 框架也是不同的. 暂时就先当作企业内部管理的系统来做吧.
后台基础框架是struts2+spring3+mybatis3.2.
前台用jQuery
数据库:mySql
之前搭建ssm的框架就废了不少时间, 刚开始幼稚的计划都用最新版本, 还增加了如struts2的json插件,spring-mybatis插件, mybatis-generator等插件, 结果都弄到一起才发现各种版本不兼容. 后来使用maven来搭建, 方便了很多, 可以方便的更换框架版本来调整. 但在搭建完成以后才觉得开发的时候很别扭, 也可能是我还是不熟悉maven, 每次修改一个jsp都得重新发布. 想到基本框架搭建差不多了, 就把maven工程转换成了普通的web工程.
因为对美工不熟, js, css虽然会用, 但实在算不得熟练. 在网上了解了很多, 决定使用jQuery UI.
从一个基本的数据对象增删该查开始做起, 对框架的应用从开始的xml配置开始, 先完成基本的功能, 然后再优化代码,配置文件. 将觉得多余的, 不方便的东西一一去掉. 现在开始用注解替换xml文件.
前台的页面, 从表格开始. 选择了使用json来作为重要的前后台传输数据, 发现手动去转换对象和json对象太过繁琐, 开始使用jQGrid. 期间发现了两个纠结了不少时间的问题.
1. DAO层使用注解注入SqlSessionTemplate的问题
使用的继承SqlSessionDaoSupport的方式来完成SqlSessionTemplate的注入. 按道理SqlSessionDaoSupport应该也支持注解注入的. 还从网上下了源代码看, 貌似也没问题. 是在我的工程中却一直不行. 后来看了一下版本好,才发现mybatis-spring.jar从1.2版本去掉了Autowire的注解.
找到原因了, 就好解决了. 在工程中增加了一个baseDAO, 重写了setSqlSessionTemplate, 并增加注解
package dao;
import javax.annotation.Resource;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.support.SqlSessionDaoSupport;
public class BaseDao extends SqlSessionDaoSupport{
@Resource
public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
super.setSqlSessionTemplate(sqlSessionTemplate);
}
protected <S> S getMapper(Class<S> clazz) {
return getSqlSession().getMapper(clazz);
}
}
2. jQGrid无法解析从后台返回的json数据
1. jQGrid需要通过jsonReader来指定客户端如何解析服务端传过来的json数据
对应后台返回的数据应该是:
{
"gridModel":
[
{"birthday":null,"id":1,"name":"wang","sex":1}
],
"page":0,
"record":1,
"rows":0,
"total":1
}
2. struts配置文件中要通过正则表达式指定返回json数据, 否则页面上不会显示数据.
<action name="jqGridUserActon" class="jqGridUserAction">
<result name="success" type="json">
<param name="includeProperties">
^gridModel\[\w+\]\.\w+,
rows, page, total, record
</param>
<param name="noCache">true</param>
<param name="ignoreHierarchy">false</param>
</result>
</action>
ssmWeb开发框架_2014-01的更多相关文章
- sqlserver 将多行数据查询合并为一条数据
有这样一个需求:表T_FUN_TASK为任务表,有字段(TASKID,TASKNAME),表T_FUN_LOGBOOK为日志表,有字段(LOGID,TASKID,LOGDATE),一个任务可持续多天, ...
- 01 基于umi搭建React快速开发框架
介绍 基于umi搭建一个快速开发框架,react 应用框架.umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载. 我们会 ...
- 一步一步搭框架(asp.netmvc+easyui+sqlserver)-01
一步一步搭框架(asp.netmvc+easyui+sqlserver)-01 要搭建的框架是企业级开发框架,适用用企业管理信息系统的开发,如:OA.HR等 1.框架名称:sampleFrame. 2 ...
- easyconf——基于AugularJS的配置管理系统开发框架
目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...
- python Web开发框架-Django (1)
以前用web.py(另外一款轻量级web开发框架)做一个监控管理平台,没有做特别的记录就不好拾起来.最近做一个日志聚合系统,使用的是django,这次就记下来,方便查询. Django是一个高效的we ...
- [小北De编程手记] : Lesson 01 玩转 xUnit.Net 之 概述
谈到单元测试,任何一个开发或是测试人员都不会觉得陌生.我想大多数的同学也都是接触过各种单元测试框架.关于单元测试的重要性,应该不会有太多的质疑.这个系列,我向大家介绍一下xUnit.Net的使用.就让 ...
- 基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用
在前面介绍了两篇关于我的基于MVC4+EasyUI技术的Web开发框架的随笔,本篇继续介绍其中界面部分的一些使用知识,包括控件的赋值.取值.清空,以及相关的使用. 我们知道,一般Web界面包括的界面控 ...
- PhoneJS - HTML5 JavaScript 移动开发框架
大伙儿都知道有很多基于HTML5的移动应用框架.下一代开发工具将帮助开发者远离那些难学和让人费劲的原生SDK语言,如Objective-C,Java等.大家都知道,HTML5代表着交叉平台如移动应用程 ...
- 转--基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用
原文 http://www.cnblogs.com/wuhuacong/p/3317223.html 基于MVC4+EasyUI的Web开发框架形成之旅--界面控件的使用 在前面介绍了两篇关于我的基 ...
随机推荐
- RabbitMQ之远程过程调用(RPC)【译】
在第二个教程中,我们学习了如何使用工作队列在多个worker之间分配耗时的任务. 但是如果我们需要在远程计算机上运行功能并等待结果呢?嗯,这是另外一件事情,这种模式通常被称为远程过程调用(RPC). ...
- iis 导入和导出配置——iis管理
首先我们打开服务器管理器,一般服务器都在左下角的任务栏中,直接点击即可打开 2 打开WEB服务器(IIS),选择IIS根目录,找到右边的共享管理 3 打开共享管理后,我们在右侧的操作中找到导出配置,选 ...
- 实践jQuery Easyui后本地化有感
这个星期在忙着easyui的例子中的大部分功能的本地化.一开始给我的感觉就是把jquery easyui中的每个demo的代码粘贴复制一遍. 可是,真正在做的过程中,我才发现,我错了. 在仿写easy ...
- Spring Cloud是一系列框架的有序集合
Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据监控等,都可以用 ...
- 快速开发 jQuery 插件的 10 大技巧(转)
1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用.不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面.而方法可能应 ...
- 判断站点访问的终端类型(移动端还是pc端)的方法(转)
要了解某个网站是在移动设备上打开的还是在pc web浏览器中打开的,我们可以有以下综合的几种方式来搞定: 通过判断Request.UserAgent中的具体信息来分析判断,因为UserAgent包含了 ...
- WORD里怎样能做到局部“分栏”就是一页里有的分有的不分
选中你要分的部分再分栏如果不想分的部分也被分了,那就可以选中不想分的那部分,选择“分栏”->“一栏” 转自:http://zhidao.baidu.com/question/9873268.ht ...
- Yii2.0实现微信公众号后台开发
接入微信 Yii2后台配置 1.在app/config/params.php中配置token参数 return [ //微信接入 'wechat' =>[ 'token' => 'your ...
- ajax 请求登录超时跳转登录页的示例代码
Ajax AJAX即“Asynchronous Javascript + XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. 在Filter里判断是否登录,如果未 ...
- Excel宏被禁用解决办法

