`

EWeb4J 框架迁移到 GitHub

阅读更多


看看最新版本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
}
3
5
分享到:
评论
1 楼 lintghi 2012-12-05  

相关推荐

    eweb4j

    eweb4j是一个Java开发框架,它专注于提供高效、轻量级且易于使用的Web应用程序解决方案。这个框架的设计理念是简化开发流程,提高开发效率,同时保持代码的清晰性和可维护性。下面我们将深入探讨eweb4j框架的核心...

    eweb4j最新版本src[附带需要的jar]

    **eweb4j框架详解** `eweb4j`是一个基于Java开发的轻量级Web应用框架,旨在简化Web应用程序的开发过程,提高开发效率。它集成了许多实用功能,如MVC模式、数据访问、安全管理等,为开发者提供了一个高效、易用的...

    java猜数字源码-eweb4j-framework:简单的Java网络框架

    EWeb4J ? = EWeb4J 是一个基于 Servlet/Jdbc 构建的轻量级 Java Web 开发框架。它可以代替 SSH 来开发一个完整的 Web 应用程序。 它专注于 少侵入、少配置、松耦合、RESTful架构风格的 Web 应用程序开发。 EWeb4J ...

    java开源框架下载集合

    EWeb4J是一款专为快速构建企业级Web应用而设计的开源框架。它提供了一种声明式的编程模型,允许开发者通过简单的XML配置文件来定义页面布局、数据绑定逻辑等,极大地简化了Web应用的开发过程。EWeb4J支持多种数据库...

    1756-eweb手册

    Rockwell 1756-Eweb模块

    在线编辑器(eweb)应用实例

    总结,EWeb在线编辑器应用实例是一个全面的学习资料,涵盖了从基础编辑功能到高级特性的方方面面。通过深入学习和实践,你可以快速上手并精通这款强大的Web开发工具,为你的Web项目增添效率和便利。

    eweb.rar_eweb_editor

    EWeb编辑器2.80版本包含大量的预设模板,涵盖多种网站类型,如企业官网、博客、电商等,用户可快速套用模板,进行个性化调整,快速搭建网站框架。 4. **图片和媒体管理**: 内置的图片和多媒体管理功能,让用户...

    一个很好的eweb编辑器

    eweb编辑器是一款深受网页开发者喜爱的HTML编辑...这个过程涉及到服务器端编程的基础知识,对ASP语法的了解,以及在eweb编辑器中操作文件的技巧。在实际操作中,务必遵循良好的编程实践,确保代码的可维护性和安全性。

    eweb 网页编辑器

    在使用**eweb网页编辑器**时,用户可以享受到以下核心特性: 1. **所见即所得(WYSIWYG)编辑**:eweb提供了一个直观的界面,用户可以直接在编辑器中看到网页的实际效果,如同使用Word文档一样编辑网页,大大降低了...

    eWeb.rar_eWeb Editor Clie_eWebEditor_eweb editoi_文本修改器_文本编辑器

    《eWeb Editor客户端:在线文本编辑器的深度解析与应用》 eWeb Editor是一款功能强大的在线文本编辑器,尤其在Web开发领域中被广泛应用。它以其便捷的操作界面和丰富的编辑功能,为网络编程人员提供了极大的便利。...

    eweb编辑器,shengcheng

    在线编辑HTML,使用户方便使用编码在线编辑HTML,使用户方便使用编码

    1756-EWEB.pdf

    1756-EWEB

    eweb编辑器(带图片上传功能)

    ASP常用的后台编辑器,带图片上传功能 调用方法如下例子: &lt;textarea name="nr" ROWS="20" COLS="70"&gt;%=Server.HTMLEncode(rs("nr"))%&gt;&lt;/textarea&gt; &lt;iframe ID="eWebEditor1" src="../...&lt;/iframe&gt;

    genders:此项目已移至 Github:https://github.com/chaos/genders-开源

    Genders 是一个静态的集群配置数据库,用于集群配置管理。 它描述了集群的布局和配置,以便工具和脚本可以感知集群节点的变化。 此项目已移至 Github:https://github.com/chaos/genders

    eWeb editor编辑器文件

    eWeb editor编辑器文件,说明,使用方法:将解压后的editor文件夹拷贝到项目根目录下,在需要的页面中加入以下内容: 办事内容:&lt;/font&gt;&lt;/td&gt; ;style=s_blue" frameborder="0" width="99%" ...

    实用的word文本过滤器dreamedit(解决eweb和word格式不同一)

    在日常工作中,我们时常遇到从Microsoft Word复制的文本粘贴到Eweb编辑器时,格式错乱的问题,这无疑降低了工作效率并增加了工作困扰。针对这一常见问题,有一种叫做DreamEdit的小巧工具,它作为一个实用的Word文本...

    eWeb7.3.0 商业版 支持上传版 在线html编辑器

    用户可以直接在编辑器中上传图片、文档、音频、视频等各种类型的文件,并将它们无缝嵌入到网页中。这一特性使得内容创作更加便捷,尤其对于需要频繁更新网站内容的企业或个人而言,节省了大量的时间和精力。 此外,...

    高速 Fel表达式引擎

    - **轻量级**: 整个库仅300多KB大小,适合嵌入到其他系统中使用。 - **高效**: 在性能测试中表现出色,尤其在处理复杂表达式时。 - **扩展性**: 模块化设计允许用户扩展或替换现有功能,包括函数、编译器等。 - **双...

    e-web editor 3.8

    **eWeb Editor 3.8 全面解析** eWeb Editor 3.8 是一款功能强大的在线HTML编辑器,专为网页内容编辑和管理而设计。它提供了丰富的文本格式化选项,让用户无需深入HTML代码就能轻松创建和编辑网页内容。这款编辑器以...

    eweb:网站是“ eWEB”项目的一部分

    eWEB - 对手,Emmanuel Carrère 该网站是作为我们 eWEB 项目的一部分创建的,其目的是创建一个文化站点。 我们的选择落在了 Emmanuel Carrère 的《对手》一书中。 然后我们决定创建一个互联网站点,该站点涉及...

Global site tag (gtag.js) - Google Analytics