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会根据当前的数据库 ...
随机推荐
- 表单:提交验证,及blur事件验证
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 38. CentOS-6.3安装配置Tomcat-7
安装说明 安装环境:CentOS-6.3安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz下载地址:http://tomcat.apache.org/download-7 ...
- VB6 内存释放
VB在内存释放方面是这样的, 首先和其他任何语言一样,如果是在stack分配的空间的话,操作系统自动进行管理 比如下面的语句 dim a as string '当a 超出它的作用范围以后,就会被释放掉 ...
- ssh结合tar命令把远程文件拉回来或推过去(实现数据无落地推送)
登录22后tar 压缩/var/log目录输出到标准输入通过管道传到本地22_log.tar.gz文件 ssh 192.168.0.22 "cd /var ;tar -zcvf - log& ...
- 再识ASCII实体、符号实体和字符实体
一.前言 相信大家都熟悉通过字符实体 来实现多个连续空格的输入吧!本文打算对三类HTML实体及JS相关操作作进一步的整理和小结,若有纰漏请大家指正,谢谢. 二.初识HTML实 ...
- Numpy随机数
Numpy随机数 np.random随机数子库 1: 基本函数 .rand(d0,d1,..dn):创建d0-dn维度的随机数数组,浮点数,范围从0-1,均匀分布 .randn(d0,d1,..dn) ...
- oracle 网络环境配置
PLSQL Developer连接Oracle11g 64位数据库配置详解 最近换了台64bit的电脑,所以oracle数据库也跟着换成了64bit的,不过 问题也随之产生,由于plsql devel ...
- python mysql connector
install pip install mysql-connector-python-rf 报错 从https://dev.mysql.com/downloads/connector/python ...
- js json转对象
使用eval() 读取 for (var i=0;i< response.length; i++) { //alert(response[i].username) html=html+" ...
- Zookeeper—学习笔记(一)
1.Zookeeper基本功能 (增 删 改 查:注册,监听) 两点: 1.放数据(少量). 2.监听节点. 注意: Zookeeper中的数据不同于数据库中的数据,没有表,没有记录,没有字段: Z ...