zoukankan      html  css  js  c++  java
  • 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的注解.

    image

    找到原因了, 就好解决了. 在工程中增加了一个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数据

    image

    对应后台返回的数据应该是:

    {
        "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>
  • 相关阅读:
    ::在c++中的应用
    VS2008工程一些操作
    vs2008添加链接库
    从服务器 (PC 端 ) 发送图片到客户端 (android 手机端 ) [转]
    Android PowerImageView实现,可以播放动画的强大ImageView[转]
    INI文件读写
    关于超链接伪类的使用,:link,:visited,:hover
    关于div的居中显示
    常见公告栏信息效果的实现
    利用ul,li,span,position:relative实现文本的居中显示
  • 原文地址:https://www.cnblogs.com/jeevan/p/3532259.html
Copyright © 2011-2022 走看看