- 浏览: 116150 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
czqjay:
news/index/{pageNum}/{author} { ...
来谈谈REST、RBAC下的URL权限控制 -
csumck:
这也有一个在线时序图工具 http://echoma.git ...
推荐一个不错的在线“画”时序图的软件(通过文字生成图片) -
cpop:
...
如何将自己的jar包Release到Maven中央仓库中 -
yangzai911:
如果 accept-language中有值,那么也是默认取第一 ...
Play framework 国际化 -
wangyong8861850:
[color=darkred][/color][size=x- ...
EWeb4J 1.9.1 新版本发布 基于Servlet/JDBC的轻量级web开发框架
- EWeb4J 框架: https://github.com/laiweiwei/eweb4j-framework
- EWeb4J Demo Petstore : https://github.com/laiweiwei/eweb4j-petstore
- EWeb4J Demo SolidBase: https://github.com/laiweiwei/eweb4j-solidbase
- EWeb4J Demo SolidBase-webapp:https://github.com/laiweiwei/solidbase-webapp
看看最新版本EWeb4J-1.9的start.xml更新:
<?xml version="1.0" encoding="UTF-8"?> <beans> <eweb4j> <reload>0</reload> <debug>1</debug> <locales> <locale language="zh" country="CN"/> </locales> <properties> <file id="" path="" global="false"/> </properties> <ioc> <open>true</open> <logs> <log console="0" level="info" file="logs/logs.log" size="5"/> </logs> <iocXmlFiles> <path></path> </iocXmlFiles> </ioc> <orm> <open>1</open> <logs> <log console="1" level="info" file="logs/logs.log" size="5"/> </logs> <dataSource>com.mchange.v2.c3p0.ComboPooledDataSource</dataSource> <scanPojoPackage> <path>.</path> </scanPojoPackage> <ormXmlFiles> <path></path> </ormXmlFiles> <dbInfoXmlFiles> <path>mysql.xml</path> </dbInfoXmlFiles> </orm> <mvc> <open>true</open> <logs> <log console="1" level="info" file="logs/logs.log" size="5"/> </logs> <upload tmp="${RootPath}/WEB-INF/tmp" maxMemorySize="20M" maxRequestSize="20M" /> <scanActionPackage> <path>.</path> </scanActionPackage> <scanInterceptorPackage> <path>.</path> </scanInterceptorPackage> <actionXmlFiles> <path></path> </actionXmlFiles> <interXmlFiles> <path></path> </interXmlFiles> </mvc> </eweb4j> </beans>
SolidBase 跟在线演示的一样是最新的。
Petstore 完全采用最新版本 EWeb4J-1.9 开发。大家可以看看它的代码,这里贴上几个哈:
/** * 登录鉴权 * @author weiwei * */ @Interceptor(method = "check", priority = 0, uri = { @Uri(type = "start", value = "members/") }, except = {"members/login", "members/signup"}) @Singleton public class LoginAuth { public String check(){ Member member = (Member)MVC.ctx().getSession().getAttribute(Const.LOGIN_ATTR); if (member == null){ return "action:"; } return null; } }
public class MembersControl { private Member member; @Validate({"member.user.name", "member.user.passcode", "member.name"}) @Transactional public Object create(Validation val){ Map message = new HashMap(); if (val.hasErr()){ message.put("status", false); message.put("message", val.getAllErr()); return message; } message.put("status", member.signup()); return message; } @Validate({"member.user.name", "member.user.passcode"}) public Object doLoginAtPut(Validation val){ Map message = new HashMap(); if (val.hasErr()){ message.put("status", false); message.put("message", val.getAllErr()); return message; } try{ Member loginMember = member.login(); if (loginMember != null){ message.put("status", true); MVC.ctx().getSession().setAttribute(Const.LOGIN_ATTR, loginMember); }else{ message.put("status", false); } }catch(Exception e){ message.put("status", false); } return message; } public Map doLogoutAtPut(){ Map message = new HashMap(); message.put("status", true); MVC.ctx().getSession().removeAttribute(Const.LOGIN_ATTR); return message; } public String doHomeAtGet(){ return "欢迎" + MVC.ctx().getModel().get(Const.LOGIN_ATTR) + "访问会员中心"; } public void setMember(Member member) { this.member = member; } }
/** * 宠物商店会员 模型 * * @author weiwei * */ @Entity @Table(name = "t_member") public class Member extends Model { /* 会员名字 */ @Column(unique=true) @Required @Chinese private String name; /* 性别 0 保密 1 男 2 女 */ private int gender; /* 年龄 */ @Int @Size(min=1, max=99) private int age; /* 所持金币数 */ @Column(name="gold_coins") @Int @Size(min=1, max=9999999) private long goldCoins; /* 登陆账户 */ @OneToOne private User user; /* 注册时间 */ @Column(name="create_at") private Date createAt; /* 所拥有的宠物 */ @OneToMany private List<Pet> pets = new ArrayList<Pet>(); /* 购买记录 */ @OneToMany private List<PurchaseRecord> purchaseRecords = new ArrayList<PurchaseRecord>(); /* 购物车 */ @OneToOne private Cart cart; public boolean signup(){ this.createAt = new Date(); this.cart = new Cart(); this.cart.create("description"); this.user.create("name", "passcode"); return this.create("name","user", "createAt", "cart"); } public Member login(){ if (this.user.login()) return find("byUser", user.getId()).first(); return null; } //setter and getter }
发表评论
-
EWeb4J 1.9.1 新版本发布 基于Servlet/JDBC的轻量级web开发框架
2012-11-28 22:08 2813EWeb4J 是一个基于 Servlet/Jdbc 构建的轻量 ... -
EWeb4J-SolidBase 发布新版本
2012-07-08 12:41 2124SolidBase项目是采用 DWZ + EWeb4J 开发的 ... -
发布一个EWeb4J-1.9的Demo
2012-07-04 16:38 26EWeb4J-1.9框架发布在即,在此之前,发布一个小Demo ... -
EWeb4J-1.9-文件上传下载和生成建表脚本
2012-06-09 12:11 2299毕业了。高兴一下,哈。 一直以来,eweb4j framew ... -
SolidBase 二次开发 GIS 截图
2012-05-07 16:12 1907有位大哥哥使用 EWeb4J 的项目 SolidBase 作为 ... -
EWeb4J 国际化支持出炉啦(有源码看)
2012-05-06 15:31 2045很荣幸也很开心地公布,EWeb4J 支持国际化了。并且有着它独 ... -
Play framework 国际化
2012-05-03 20:04 4301Play的国际化操作还是非常简单的。大概分为四步: 1. ... -
解决Dojo的Widget在创建ArcGIS的Map对象时出现ID已被Registered的错误
2012-04-25 19:23 3137今天在用Dojo的toolkit(Dijits)创建ArcGI ... -
eweb4j在线演示程序更新
2012-04-25 09:25 2092访问地址:SolidBase 增加菜单显示权限 ... -
EWeb4J-1.9-继续改善ActiveRecord支持【级联】操作
2012-04-17 20:58 1485老习惯:约定优于配置 ... -
EWeb4J-1.9-控制器更新
2012-04-13 16:56 1441主要增加以下更新: 验证器 声明式事务 7个默认Acti ... -
eweb4j-1.9-支持ActiveRecord模式
2012-04-06 20:46 1616@Entity @Table(name="t_ ... -
(不断更新)EWeb4J-1.9-SNAPSHOT最近进程
2012-03-28 23:33 1812经过奋战,终于有个稳定点的SNAPSHOT版本咯。 较之上个 ... -
eweb4j演示项目-SolidBase增加对菜单显隐的权限控制
2012-03-28 14:41 1897昨晚捣鼓到两点多才弄好,今天整理了下,大概把菜单权限控制做好了 ... -
(下篇)单例POJO实现CRUD+分页+搜索Demo
2012-03-23 23:14 2本篇程序特点: POJO式的控制器,无需继承、无需实 ... -
体验快速开发2:单例POJO实现CRUD+分页+搜索Demo
2012-03-23 22:54 29程序特点: POJO式的控制器,无需继承、无需实现接 ... -
体验快速开发:只有一个控制类实现的CRUD+分页+搜索Demo
2012-03-22 22:17 182╮(╯▽╰)╭,本来不想谈什么快速开发的,但是最近老是有人拿什 ... -
如何将自己的jar包Release到Maven中央仓库中
2012-03-20 17:17 4432PS:真正要发布到Maven中央库中是首先需要到https:/ ... -
EWeb4J-1.8.6 发布,同时带来一个演示项目
2012-03-08 17:44 2986距离上次1.7的发布已经过去5个月了。首先值得高兴的是EW ... -
推荐一个不错的在线“画”时序图的软件(通过文字生成图片)
2012-02-26 21:00 15671首先看看效果吧: 还有很多其他的风格可以选择。例如 VS ...
相关推荐
eweb4j是一个Java开发框架,它专注于提供高效、轻量级且易于使用的Web应用程序解决方案。这个框架的设计理念是简化开发流程,提高开发效率,同时保持代码的清晰性和可维护性。下面我们将深入探讨eweb4j框架的核心...
**eweb4j框架详解** `eweb4j`是一个基于Java开发的轻量级Web应用框架,旨在简化Web应用程序的开发过程,提高开发效率。它集成了许多实用功能,如MVC模式、数据访问、安全管理等,为开发者提供了一个高效、易用的...
EWeb4J ? = EWeb4J 是一个基于 Servlet/Jdbc 构建的轻量级 Java Web 开发框架。它可以代替 SSH 来开发一个完整的 Web 应用程序。 它专注于 少侵入、少配置、松耦合、RESTful架构风格的 Web 应用程序开发。 EWeb4J ...
EWeb4J是一款专为快速构建企业级Web应用而设计的开源框架。它提供了一种声明式的编程模型,允许开发者通过简单的XML配置文件来定义页面布局、数据绑定逻辑等,极大地简化了Web应用的开发过程。EWeb4J支持多种数据库...
Rockwell 1756-Eweb模块
总结,EWeb在线编辑器应用实例是一个全面的学习资料,涵盖了从基础编辑功能到高级特性的方方面面。通过深入学习和实践,你可以快速上手并精通这款强大的Web开发工具,为你的Web项目增添效率和便利。
EWeb编辑器2.80版本包含大量的预设模板,涵盖多种网站类型,如企业官网、博客、电商等,用户可快速套用模板,进行个性化调整,快速搭建网站框架。 4. **图片和媒体管理**: 内置的图片和多媒体管理功能,让用户...
eweb编辑器是一款深受网页开发者喜爱的HTML编辑...这个过程涉及到服务器端编程的基础知识,对ASP语法的了解,以及在eweb编辑器中操作文件的技巧。在实际操作中,务必遵循良好的编程实践,确保代码的可维护性和安全性。
在使用**eweb网页编辑器**时,用户可以享受到以下核心特性: 1. **所见即所得(WYSIWYG)编辑**:eweb提供了一个直观的界面,用户可以直接在编辑器中看到网页的实际效果,如同使用Word文档一样编辑网页,大大降低了...
《eWeb Editor客户端:在线文本编辑器的深度解析与应用》 eWeb Editor是一款功能强大的在线文本编辑器,尤其在Web开发领域中被广泛应用。它以其便捷的操作界面和丰富的编辑功能,为网络编程人员提供了极大的便利。...
在线编辑HTML,使用户方便使用编码在线编辑HTML,使用户方便使用编码
1756-EWEB
ASP常用的后台编辑器,带图片上传功能 调用方法如下例子: <textarea name="nr" ROWS="20" COLS="70">%=Server.HTMLEncode(rs("nr"))%></textarea> <iframe ID="eWebEditor1" src="../...</iframe>
Genders 是一个静态的集群配置数据库,用于集群配置管理。 它描述了集群的布局和配置,以便工具和脚本可以感知集群节点的变化。 此项目已移至 Github:https://github.com/chaos/genders
eWeb editor编辑器文件,说明,使用方法:将解压后的editor文件夹拷贝到项目根目录下,在需要的页面中加入以下内容: 办事内容:</font></td> ;style=s_blue" frameborder="0" width="99%" ...
在日常工作中,我们时常遇到从Microsoft Word复制的文本粘贴到Eweb编辑器时,格式错乱的问题,这无疑降低了工作效率并增加了工作困扰。针对这一常见问题,有一种叫做DreamEdit的小巧工具,它作为一个实用的Word文本...
用户可以直接在编辑器中上传图片、文档、音频、视频等各种类型的文件,并将它们无缝嵌入到网页中。这一特性使得内容创作更加便捷,尤其对于需要频繁更新网站内容的企业或个人而言,节省了大量的时间和精力。 此外,...
- **轻量级**: 整个库仅300多KB大小,适合嵌入到其他系统中使用。 - **高效**: 在性能测试中表现出色,尤其在处理复杂表达式时。 - **扩展性**: 模块化设计允许用户扩展或替换现有功能,包括函数、编译器等。 - **双...
**eWeb Editor 3.8 全面解析** eWeb Editor 3.8 是一款功能强大的在线HTML编辑器,专为网页内容编辑和管理而设计。它提供了丰富的文本格式化选项,让用户无需深入HTML代码就能轻松创建和编辑网页内容。这款编辑器以...
eWEB - 对手,Emmanuel Carrère 该网站是作为我们 eWEB 项目的一部分创建的,其目的是创建一个文化站点。 我们的选择落在了 Emmanuel Carrère 的《对手》一书中。 然后我们决定创建一个互联网站点,该站点涉及...