在上一篇博客《eterna框架-介绍》中为简单的为大家介绍了eterna框架的内容,今天我们来搭建一个最简单的eterna开发环境。
首先我们需要从eterna首页下载相关jar包。如果无法访问可以通过这里下载。
压缩包结构如下:
然后我们需要创建一个JAVA WEB项目,项目创建过程可参考《Servlet第一个示例》,这里就不在描述了。
创建完项目后,我们需要把eterna的相关包复制到项目中,除了eterna的jar包外,还需要一些其他的包,lib文件结构如下:
导入完jar包后,在WebContent文件夹内新建res文件夹,并将下载的eterna文件中的web目录下内容复制进去
和其他的框架一样,我们要让eterna生效,最简单的方式就是在web.xml中配置eterna为我们提供的Servlet,熟悉之后,我们也可以按照需求自己编写,现在我们就是用默认的,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>test</display-name>
<servlet>
<servlet-name>study</servlet-name>
<servlet-class>self.micromagic.app.EternaServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>study</servlet-name>
<url-pattern>/study.do</url-pattern>
</servlet-mapping>
<!-- 如果需要使用eterna标签则添加,注意对应的文件要添加到项目 -->
<jsp-config>
<taglib>
<taglib-uri>http://code.google.com/p/eterna</taglib-uri>
<taglib-location>/WEB-INF/tld/eterna.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
准备工作完成,下面我们来编写代码测试一下
新建view.jsp
文件,该文件用于显示内容:
<%@ page session="false" contentType="text/html;charset=UTF-8"%><%@ page import="self.micromagic.eterna.view.impl.ViewTool"%><%@ taglib prefix="e" uri="http://code.google.com/p/eterna"%>
<% String id = "_" + ViewTool.createEternaId(); %><e:init parentElement="eternaShow" divClass="eternaFrame" printHTML="2" suffixId="<%=id%>">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<e:res url="/res/jquery.js" />
<e:res url="/res/eterna.js" />
</e:init>
因为eterna是基于配置的,所以我们要创建配置文件,在src
文件夹下创建study
包,并在该包下新建index.xml
文件,我们将在index.xml
中编写eterna配置。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eterna-config PUBLIC "eterna" "http://eterna.googlecode.com/files/eterna_1_5.dtd">
<eterna-config>
<factory>
<objs>
<export name="index.export" path="/view.jsp" viewName="index.view" />
<model name="index" modelExportName="index.export" transactionType="notNeed" />
<view name="index.view">
<component name="div" type="div" comParam="text:'this is my first eterna application.'" />
</view>
</objs>
</factory>
</eterna-config>
我们现在只是搭建环境,所以暂时不需要知道各标签的含义,编写完配置后,我们需要让配置文件生效,则需要在web.xml中添加初始化文件,修改后的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>test</display-name>
<servlet>
<servlet-name>study</servlet-name>
<servlet-class>self.micromagic.app.EternaServlet</servlet-class>
<init-param>
<param-name>initFiles</param-name>
<param-value>cp:study/index.xml;</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>study</servlet-name>
<url-pattern>/study.do</url-pattern>
</servlet-mapping>
<!-- 如果需要使用eterna标签则添加,注意对应的文件要添加到项目 -->
<jsp-config>
<taglib>
<taglib-uri>http://code.google.com/p/eterna</taglib-uri>
<taglib-location>/WEB-INF/tld/eterna.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
最后启动服务器,浏览器访问:http://localhost/eterna/study.do
,我们会看到浏览器输出一句话
这样,我们的eterna环境就可以正常运行了,当然了,这只是一个基本的环境。