easyjweb ejs 2014.2.25
一 、简单 easyjweb 项目
1. 创建一个web 项目 , 将easyjweb-corejar 包 和required 包下的所有jar 包拷到项目下。
2.写一个 action ..
package com.action; /*
* 要求:
* 1.默认hello和 views 中的包名一致(),否则找不到模板。不一致是可以配置 返回值new Page
* 2.方法名 为 index或者init为默认访问方法名,参数 webForm 访问方式 hello.ejf?cmd=index
* 3.继承AbstractPageCmdAction 或者实现IWebAction
* 4. 如果不return , 方法名 和 html 页面名是一致的
*/ import java.text.SimpleDateFormat;
import java.util.Date; import com.easyjf.web.IWebAction;
import com.easyjf.web.Module;
import com.easyjf.web.Page;
import com.easyjf.web.WebForm;
import com.easyjf.web.core.AbstractPageCmdAction; public class HelloAction extends AbstractPageCmdAction{//hello1 必须和 views 中的包名一致,否则找不到模板
public Page index(WebForm form){//方法名 为 index
form.addResult("msg", "你好,这是第一个easyjweb 项目");
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
form.addResult("date",df.format(new Date()));
return new Page("/hello1/index.html");
}
}
/*public class HelloAction implements IWebAction{
@Override
public Page execute(WebForm form, Module module) throws Exception {
form.addResult("msg", "你好,这是第一个easyjweb 项目");
form.addResult("date",new Date());
return new Page("/hello/index.html");
}
}*/
3. index.html默认放到 /WEB-INF/views/hello (因为默认要和 helloAction 对应),也可以为action 指定跳转
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Insert title here</title>
</head>
<body>
<div>来自easyjweb 的问候: <font color="red">${msg}</font></div>
<div>时间是 ${date}</div>
</body>
</html>
4 web.xml 配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>EasyWeb</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>defaultActionPackages</param-name>
<param-value>com.action</param-value> action 所在路径
</context-param>
<servlet>
<servlet-name>easyjf</servlet-name>
<servlet-class>com.easyjf.web.ActionServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>easyjf</servlet-name>
<url-pattern>*.ejf</url-pattern>
</servlet-mapping>
<!-- 定义字符处理Filter -->
<filter>
<filter-name>CharsetFilter</filter-name>
<filter-class>com.easyjf.web.CharsetFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>ignore</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharsetFilter</filter-name>
<servlet-name>easyjf</servlet-name>
</filter-mapping>
</web-app>
部署启动tomcat 访问 http://localhost:8080/helloworld/hello.ejf
二 、 ejs easyjweb+jpa+spring
1. 创建一个 实体类 Customer.java
注意package
package myapp.domain; import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import com.easyjf.container.annonation.Field;
@Entity
public class Customer {
@Id
@GeneratedValue(strategy=GenerationType.TABLE)
private Long id;
@Field(name="姓名")
private String name;
@Field(name="联系人")
private String linkName;
@Field(name="工号")
private String contractNo;
@Field(name="地址")
private String address;
@Field(name="邮箱")
private String email;
@Field(name="主页")
private String homepage;
@Field(name="个人简介")
private String intro;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getLinkName() {
return linkName;
}
public void setLinkName(String linkName) {
this.linkName = linkName;
}
public String getContractNo() {
return contractNo;
}
public void setContractNo(String contractNo) {
this.contractNo = contractNo;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getHomepage() {
return homepage;
}
public void setHomepage(String homepage) {
this.homepage = homepage;
}
public String getIntro() {
return intro;
}
public void setIntro(String intro) {
this.intro = intro;
} }
2. 命令行进入 easyjweb 的bin 目录 执行easyjweb project e:\myapp\ejs –ejs e:\myapp\ejs 为生成的项目路径
3. 讲刚才 的Customer.java 文件 放到 生成的项目中 src\main\java 的 myapp.domain 注意要和 类中的package 路径一致
4.进入 项目的 bin目录
easyjweb crud myapp.domain.Customer
../src/main/java/myapp/domain/Customer.java
5. 根据需要 更改 数据库配置文件
database.driverClassName=org.gjt.mm.mysql.Driver
database.url=jdbc:mysql://localhost:3306/myapp?createDatabaseI
fNotExist=true&useUnicode=true&characterEncoding=utf8&autoReconne
ct=true
database.username=root
database.password=123
database.show_sql=true
6. 进入项目的bin 目录下 执行 easyjweb war
打包后放到tomcat 的webapps 下 ,启动tomcat 访问
http://localhost:8080/ejs/customer.ejf 即可 打开一个对 Customer 的 增删改查 的 页面
easyjweb ejs 2014.2.25的更多相关文章
- 德国W家HIPP 奶粉有货播报:2014.6.25 HIPP 1+ 4盒装有货啦!
德国W家HIPP 奶粉有货播报:2014.6.25 HIPP 1+ 4盒装有货啦!
- 【转】2014年25款最好的jQuery插件
2014年25款最好的jQuery插件 来源:Specs' Blog-就爱PHP 时间:2014-12-30 10:24:10 阅读数:2267 分享到: 0 http://www.php10 ...
- wifi共享精灵2014.04.25.001已经更新,wifi热点中文名走起!
五一回来后,有个惊喜,wifi共享精灵有了最新动向.不晓得wifi共享精灵是啥的朋友,我来解释下,它就相当于一个无线路由器.说起来,Wifi共享精灵正式版2014.04.25.001(http://w ...
- 2014年25 款最新最棒的jQuery插件
网络上提供了大量非常有用的 jQuery 插件,帮助大家完善网站的体验.所以我们在这里收集了 2014 年发布的,并且是非常有用的插件,希望能帮助大家找到自己需要并且喜欢的,提升网站的质量! HAMM ...
- Visual Assist X 10.8.2042的Crack破解补丁. 2014.06.25 (General release.)
VA小组时隔一个月又公布了新的版本号,这个版本号新添加了5个特性,修复了7-8个bug.而且也是稳定的Release版.所以这是很推荐更新的一个版本号. 对于破解补丁还是老规矩,请到我的下载空间下载, ...
- datetime.date(2014, 4, 25) is not JSON serializable
# 背景 接口期望返回json格式数据,但数据存储在mysql中,先将mysql的数据转为dict,然后将dict转为json格式,然后就报这个错误了的,原因就是时间格式转换问题 # 解决方法 1. ...
- 2014.8.25 VS新建项目模板消失解决方法
Vs2005 新建项目时windows应用程序模板消失问题解决方法: 1:进入C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\ ...
- 2014.8.25 CAD系统事件触发流程
各进近.离场.进场Arinc424数据录入界面在CADDataManager/UC/UCIAP(UCSID)下 UCAirport是一抽象用户控件类,在FormADHP初始化时实例化成airport控 ...
- SQL Server 2014里的针对基数估计的新设计(New Design for Cardinality Estimation)
对于SQL Server数据库来说,性能一直是一个绕不开的话题.而当我们去分析和研究性能问题时,执行计划又是一个我们一直关注的重点之一. 我们知道,在进行编译时,SQL Server会根据当前的数据库 ...
随机推荐
- tornado-输入
获取输入的信息: *** get_argument get_arguments 兼顾以下两种常用 能从url中获取 ?name=xiaoming 能从body中获取 form表 ...
- Requests库入门
安装: $ pip install requests Response对象的一些基本属性: Response.status_code 请求的返回状态,正常为200 Response.text 页面的字 ...
- Redis 通用操作2
01, 一次设置多个键值 => mset key1 value1 key2 value2 key3 value3 ...... 02, 一次获取多个值 => mget ke1 key2 k ...
- 使用matplotlib 制图(柱状图、箱型图)
柱状图: import pandas as pd import matplotlib.pyplot as plt data = pd.read_csv('D:\\myfiles\\study\\pyt ...
- STS或eclipse安装SVN插件
安装sts--SVN插件 简介:sts是与eclipse类似的Java IDE开发工具(不了解的百度) 1.sts菜单栏 help->install New Software 依据大家的版本选择 ...
- js中常用的事件
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 吴裕雄 实战PYTHON编程(6)
import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['Simhei']plt.rcParams['axes.unicode ...
- 吴裕雄 实战PYTHON编程(4)
import hashlib md5 = hashlib.md5()md5.update(b'Test String')print(md5.hexdigest()) import hashlib md ...
- RedisTemplate Redis 操作
stringRedisTemplate.opsForValue().set("test", "100",60*10,TimeUnit.SECONDS);//向r ...
- bootstrap下拉框的例子,提示Error: Bootstrap's JavaScript requires jQuery
bootstrap很多js依赖jquery,所以需要引入jquery 遇到的问题: 页面访问提示:Error: Bootstrap's JavaScript requires jQuery 解 ...