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会根据当前的数据库 ...
随机推荐
- 2. 修改myeclipse默认用户和时间
方法一:将 @author 属性写死 . 通过菜单 Window->Preference 打开参数设置面板,然后选择: 1.Java -> Code Style -> Code Te ...
- HTML5 Canvas ( 线段端点的样式 ) lineCap
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- gevent 实现单线程下的socket链接
通过gevent实现socket的多并发 server 端: import geventfrom gevent import socket, monkey monkey.patch_all() #进行 ...
- WDA-FPM-2-APPLICATION-TABSTRIP(OIF)
转载:https://www.cnblogs.com/sapSB/p/10081344.html FPM二:简单的APPLICATION-TABSTRIP(OIF) 1.新建WDA程序ZLYFPM ...
- 搭建turbine时 hystrix MaxConcurrentConnections reached 异常
2017-03-28 10:04:47.438 ERROR 1035 --- [InstanceMonitor] c.n.t.monitor.instance.InstanceMonitor : Co ...
- webserive学习记录4-获取天气的例子
学习到了如何创建使用webservice服务,下面就实际应用一下,从网络上获取天气数据. 先从网络上找到免费的webservice服务, 如这个网站:http://www.webxml.com.cn/ ...
- linux文件格式转换:<U+FEFF> character showing up in files. How to remove them?
You can easily remove them using vim, here are the steps: 1) In your terminal, open the file using v ...
- 进程间通信-Queue
进程间通信-Queue Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信. 1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传 ...
- Quartz入门
Quartz体系结构: 明白Quartz怎么用,首先要了解Scheduler(调度器).Job(任务)和Trigger(触发器)这3个核心的概念.请注意加粗内容. 1. Job: 是一个接口,只定义一 ...
- SpringMVC中在web.xml中添加中文过滤器的写法
<filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>or ...