文章标签 ‘框架’
20165 月18

Node.js 企业级开发框架

基于Sails.js MVC框架,路由自动映射,完善的权限控制体系,优美的后台界面。

集成最基础的通用功能:

系统(机构管理、用户管理、角色管理、菜单管理、定时任务、数据库备份、IP访问控制、登录日志等)

CMS(站点管理、栏目管理、内容管理、广告及链接等)

微信(会员列表、微信消息、群发消息、自动回复、关键词回复、帐号配置、菜单配置等)

 

演示地址:http://www.nodeshop.cn

联系方式:QQ  1162-4317   (备注nodejs)

 

界面截图:

QQ截图20160518095645

2

201311 月26

Nutz开发日志

计划基于Nutz开发一套全新的系统管理-权限框架。界面演示:/?p=2586
之前尝试Nutz做过一个demo,但有很多不足,比如没有做防SQL注入、不能兼容多数据库、列表没有实现Ajax等。

基于多年来开发过程接触的各式各样的框架,想整一套开发方便UI简洁的框架,要求有如下功能:
1.开发简便、框架结构清晰
2.性能优越、兼容主流数据库、兼容各版本浏览器
3.UI简洁、开发简单、主流JS插件集成、全Ajax
4.集成权限框架、单点登陆、登陆日志、操作日志
5.工作流引擎、表单自定义
6.代码生成器

JS引入:
jquery-1.10.2.min.js
ueditor-1.2.6.1
My97Datepicker-4.8 Beta4
zDialog-2.0
ztree-3.5.15

框架引入:
Nutz-1.49.r2
log4j-1.2.17
json-1.0
c3p0-0.9.1.2
classes12
mysql-connector-java-5.1.14
ojdbc14
slf4j-api-1.6.1
slf4j-log4j12-1.6.1
sqljdbc4
velocity-1.7
velocity-tools-2.0
velocity-tools-generic-2.0
velocity-tools-view-2.0
json-lib-2.4-jdk15
ezmorph-1.0.6
commons-beanutils-1.7.0
commons-chain-1.1
commons-collections-3.2
commons-digester-1.8
commons-lang-2.2
commons-logging-1.1
commons-validator-1.3.1
待更新。

——————————————————–
在Eclipse中处理图片,需要引入两个包:
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
报错:
Access restriction: The type JPEGImageEncoder is not accessible due to restriction on required library C:\Java\jre1.6.0_07\lib\rt.jar

此时解决办法:
Eclipse默认把这些受访问限制的API设成了ERROR。只要把Windows-Preferences-Java-Complicer-Errors/Warnings里面的Deprecated and restricted API中的Forbidden references(access rules)选为Warning就可以编译通过。

—————————————————————
Nutz开发说明:

您一定了解SSH,还有Strust1+Velocity框架

2013年11月30日(星期六) 晚上7:03给我写信

您一定了解SSH,还有Strust1+Velocity框架。前者配置文件实在是太多,多层架构,开发一个功能模块涉及很多类、很多关系,一方面上手非常难另外开发效率也不高。后者随着技术发展,对前端技术支持不太友好,比如AjaxJS框架等,需要中间跳转页面进行输出,再者也需要配置。

根据项目开发中实际遇到的各种问题,研究各种框架优缺点之后,决定选择Nutz国产开源框架作为基础来构建本开发框架。选择Nutz有如下优点:

1URL“零”配置

您再也不用为繁琐的配置文件烦恼了,Nutz-Mvc使用全注解的方式来封装URL,使用简单的@At 在类或方法上实现URL映射。

2、灵活的多数据源支持

通过Nutz.Ioc您只要在数据库配置文件datasource.json中配置对象,如dao1dao2,那么在Action类中,

@Inject

    protected Dao dao1;

@Inject

protected Dao dao2;

即可使用daoCtl的方法直接操作这两个数据库。daoCtl里集成了常用的添加、修改、查询、分页等方法。

3、功能强大的视图

Nutz-Mvc使用@Ok @Fail 注解,来实现执行成功或失败后的输出,可以外部重定向、内部重定向、返回字符串、返回JSON等等,总之您想要什么结果就能给您返回什么,再也不用使用单独的Action类来封装JSON数据了,您想要随时都可以有。

4、功能强大的数据库操作

Nutz.Dao封装了常用的数据库操作,减少自定义SQL的编写,提高开发效率和安全性,通过工具类

Cnd.where(“loginname”, “=”,
user.getLoginname())

        Sql sql = Sqls.create("DELETE FROM $table WHERE name=@name");

sql.vars().set(“table”,”t_abc”);

sql.params().set(“name”,”Peter”);

中的sql.params().set() 方法,可以有效的防止SQL注入。

更多使用方法请参考本目录下的nutz开发手册。

5Velocity

对于大家常用的Velocity模板语言,本框架也进行了整合。

req.setAttribute(“menulist”,
menulist);

将对象输出到页面,在页面上即可直接使用模板语言输出。

 

UI表现层上面,本次框架也进行了调整,原则上支持纯Ajax开发。后台集成jQuery EasyUIzDialogEasyUI.DataGridztreeMy97DatePickerJS组件。

1、兼容主流浏览器

您再也不用考虑浏览器兼容性问题,只要您的JS全部使用jQuery来编写,那么还用担心什么呢,本框架目前在IE6/IE7/IE8/IE9/IE10/IE11ChromeFrieFox360测试通过。

2zDialog的使用更加简便

通过使用Ajax以及对zDialog的优化,您再也不需要写中间页面进行页面跳转了。您可以在弹出框的父页面进行弹出表单的提交,在父页面写弹出框按钮的事件。

通过$DW.$(“#form1”).serialize();  获取弹出窗口表单内容

         $DW.$Z(“name”).focus();     操作弹出框内容,赋值等

         $D.close();                                  关闭弹出窗口

让我们看一个完成的示例:

function addSave(){ 



if($DW.Verify.hasError()){


return;


}


jQuery.ajax({


type:
‘POST’,


url :
“/private/sys/unit/addSave” ,


data :
$DW.$(“#form1”).serialize(),


success :
function (res) {


if(res!=””){


$D.close();


Dialog.alert(“
添加成功!“);


initTree();


view(res);


}else{


Dialog.alert(“
添加失败!“);


}



return
false;


},


fail :
function(res) {


Dialog.alert(“
系统错误?!”);


}


});


}

3Ajax分页支持

集成jQuery.Easyui.DataGrid,从后台封装的JSON数据格式,到前台展示,分页查询从来没有如此简便过。

daoCtl.getListPageJson()
封装了easyui.datagrid分页所需格式数据,更不用您手动写烦人的JSON了。

4、权限控制到按钮

您只需要在JS中使用

              Page.initBtn();


$!initBtn

即可控制页面按钮是否可用,当然,在此之前,您需要在资源菜单管理中添加按钮ID,在角色管理中对用户分配按钮权限。

 

 

20133 月25

Nutz:Java开发框架搭建基本完成

一直想拥有一个开发快捷、界面美观、用户体验好的java开发框架,网罗不来只好自己动手,现在框架基础功能已完成,界面还需要美工优化一下。(以下图片点击查看全图)

1

 

购买咨询Q:11624317
验证信息:框架

技术:Nutz + Velocity + c3p0 + zDialog +  jQuery + zTree

环境:JDK + Eclipse +Tomcat + Oracle/MySQL

1、系统采用国产开源Nutz框架,实现项目的“零配置”(这可比SSH轻松多了),Nutz在一个类中可以随意定义访问地址,返回String、JSON、对象或跳转到具体页面,也可以利用Velocity打印结果;
2、系统集成泽元CMS1.0系统中的弹出窗口及页面验证、控制JS,并结合jquery easyui实现标签页;
3、系统无缝集成jQuery,jquery和nutz真是天作之合,可方便的实现ajax功能,另外你也可以使用velocity在页面输出内容,比较灵活;
4、已完成系统管理模块,数据表设计合理,权限控制到按钮级,可按机构建用户角色等。

下面是一段简单的Nutz类实现,Nutz更多介绍可以访问官网:http://nutzam.com/

@IocBean
@At("/private")//访问路径
@Filters({ @By(type = GlobalsFilter.class) })
public class LoginAction extends BaseAction {

	@At //访问路径,不指定则为方法名称,即:/private/logout
	@Ok(">>:/private/login")//外连接,跳转到 /private/login
	public void logout(HttpSession session) {
		session.removeAttribute("userSession");
	}

	@At("/login")
	@Ok("->:/private/login.html")//内连接,输出到 /private/login.html
	public void login(HttpServletRequest req) {
		req.setAttribute("menulist", "helloworld");//页面可以用velocity语言输出
	}
	@At
	@Ok("raw") //返回字符串类型,也可以是json、对象等
	public int Online(@Param("loginname") String loginname,HttpSession session) { 
		Sys_user user = (Sys_user) session.getAttribute("userSession");
		if(user==null){ 
			return -2;
		}
		if (loginname != null&&!"".equals(loginname)) {
			OnlineUtil.addUser(loginname, String.valueOf(1));
		} 
		return OnlineUtil.getOnlineCount(String.valueOf(1));
	} 

}

2

 

3

 

4

5