171115之项目开发说明
Action层
完成页面请求的参数处理;
确定业务处理调用的Service层接口;
组织返回前台的结果集;
业务层返回的错误处理;
Service层
需要先定义XXXService接口,然后通过XXXServiceImpl类实现;在sys_beans表进行定义;
业务逻辑处理;
业务处理中产生的错误,采用throwHygeiaException的方式,将业务产生的错误信息向Action报送;
确定业务调用的DAO层接口;
DAO层
需要先定义XXXDAO接口,然后通过XXXDAOImpl类实现;在sys_beans表进行定义;
执行数据库操作的处理层;
对于复杂、经常变化、需要本地化的SQL操作,请将SQL维护在sys_sql表中;采用getSql(DAO接口.class, “sys_sql表中维护的名称”)例如:getSql(UserDAO.class, ” getAdminUser”)将获取到sys_sql表中维护的sql_id为“UserDAO.getAdminUser”的对应SQL,SQL所包含的参数使用“:user_id”的方式,在执行时,通过同名的Map参数传入
Entity
有点类似于原核三Hibernate的Entity类,用于描述一个单表的结构;将属性参数设定后,可使用DAOHelper.insert(表名,Entity);DAOHelper.update(表名,Entity)进行操作
统一存放在com.powersi.biz.entity下,直接使用表名大写命名类,统一实现;
DTO
用于做参数的传递
存放于各业务package下的dto目录下
SQL语句编写规范
SQL语句请在PLSQL中按以下格式格式化,再使用“$/核心平台重构/文档/工具/SQL转换工具”进行处理,最终代码如下示例:
StringBuffer lSQL = new StringBuffer();
lSQL.append(" select col1,col2,col3,col4,col5 ");
lSQL.append(" ,col6,col7,col8,col9,col10 ");
lSQL.append(" from aa35 ");
lSQL.append(" where aaz100 = 110001 ");
lSQL.append(" and xxx ");
lSQL.append(" group by XXX ");
lSQL.append(" order by xxx ");
JavaScript使用
弹出式页面统一使用封装的openDialog(“URL”);
contextPath使用
在js文件中,使用rootPath
在jsp文件中,使用${rootPath}
获取***
所有***维护在mt_serial表中,获取时采用long id = SysFunc.getMaxNo(mt_serial.serial_type)方式获取,返回值为mt_serial.cur_num_no+1;在mt_serial表中,没有维护对应项目时,自动创建该项目,并返回1。
JSP模板
<%@ page language="java" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="display" uri="http://displaytag.sf.net" %>
<%@ taglib prefix="powersi" uri="http://www.powersi.com.cn/tags" %>
<%@ taglib prefix="biz" uri="http://www.powersi.com.cn/biztags" %>
<powersi:html>
<head>
<powersi:head title="" />
<script type="text/javascript">
</script>
</head>
<body>
<powersi:errors />
</body>
</powersi:html>
<powersi:html>
**指定docHtml标签的type。
每个JSP页面中必须包含。
Head标签
系统自动包含相关的js,css文件。
弹出窗口需要可以增加target=”_self”
每个JSP页面中必须包含。
Form标签
基本使用方法同STRUTS2的FORM标签;
示例:
<powersi:form name="mainForm"
action="StreetAndTownInfoAction"
namespace="/commbiz">
</powersi:form>
标签属性 | 标签描述 |
---|---|
action | 请求指向的Action,如果ajax提交可以维护成null |
namespace | Action所在的Package |
disabled | 禁止form提交,适用于ajax提交form |
Textfield标签
对应HTML中的input,根据前面设定的editorlayout标签,自动匹配td,不需要开发人员手工写,生成表格;也不需要开发人员手工写对应的中文描叙(特殊情况除外),框架根据textfield中的key属性,系统自动从messages.properties中匹配对应的中文描述;
<powersi:editorlayout cols="4">
<tr>
<powersi:textfield id="aaf013" name="aaf013" key="aaf013" />
<powersi:textfield id="aab069" name="aab069" key="aab069" />
</tr>
<tr>
<powersi:buttons cols="4">
<powersi:submit id="btSubmit" key="button_query" />
</powersi:buttons>
</tr>
</powersi:editorlayout>
上一篇: 类和对象——基本概念
下一篇: 网页跳转新页面打开,保留当前站点
推荐阅读
-
近期开发项目中用到的编码小技巧汇总说明(二)
-
Vue.js系列之项目结构说明(2)
-
Android项目实战(四十八):架构之组件化开发
-
.NET Core实战项目之CMS 第十一章 开发篇-数据库生成及实体代码生成器开发
-
.NET Core实战项目之CMS 第十三章 开发篇-在MVC项目结构介绍及应用第三方UI
-
使用Asp.Net Core MVC 开发项目实践[第一篇:项目结构说明]
-
.NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理
-
Android开发之规划项目结构的实例
-
Android开发之广播的基本使用说明
-
Python开发之Nginx+uWSGI+virtualenv多项目部署教程