EWeb4J 框架遷移到 GitHub

[list]
[*]EWeb4J 框架: [url]https://github.com/laiweiwei/eweb4j-framework[/url]
[*]EWeb4J Demo Petstore : [url]https://github.com/laiweiwei/eweb4j-petstore[/url]
[*]EWeb4J Demo SolidBase: [url]https://github.com/laiweiwei/eweb4j-solidbase[/url]
[*]EWeb4J Demo SolidBase-webapp:[url]https://github.com/laiweiwei/solidbase-webapp[/url]
[/list]

看看最新版本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 跟[url="http://solidbase.eweb4j.org"]在線演示[/url]的一樣是最新的。

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
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章