1.创建项目经过准备工作,现在你已经将metawork安装到了你的本地maven Repository中。下面,我们开始开发第一个示例。这个示例的内容是一个简单的文章模型的CRUD。首先,我们新建一个项目。在命令行中,执行如下命令可以新建一个web项目: mvn archetype:create \ -DgroupId=com.mycompany \ -DartifactId=article \ -DarchetypeGroupId=net.lingdot.metawork \ -DarchetypeArtifactId=metawork-archetype-webapp \ -DarchetypeVersion=1.0 新创建的项目中包含了一个测试实体的CRUD实现。此时你可以直接使用mvn package命令build应用,然后放在tomcat中查看效果。启动后需要的配置过程可以参照本页的3.5。但我们推荐你还是继续阅读本文档,之后你将能够自己动手构建一个简单的CRUD应用。 如果你希望使用IDE来完成项目,那么可以在项目目录下启动命令行,执行mvn eclipse:eclipse或者mvn idea:idea等等的命令来生成IDE的项目配置文件。然后启动IDE,将这个项目导入就可以了。 2.创建实体类根据前面描述的用例内容,我们创建一个实体类来表达文章模型。代码如下: package com.mycompany.article.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Column; import net.lingdot.metawork.core.entity.meta.annotation.DomainModel; import net.lingdot.metawork.core.entity.meta.annotation.Property; @Entity @DomainModel(name="文章",folder="article",category="文章") public class Article{ private Long id; private String name; private String content; private String author; /** * @return the id */ @Id @GeneratedValue(strategy=GenerationType.AUTO) @Property(name="编号") public Long getId() { return id; } /** * @param id the id to set */ public void setId(Long id) { this.id = id; } /** * @return the content */ @Property(name="内容") @Column(length=1000) public String getContent() { return content; } /** * @param content the content to set */ public void setContent(String content) { this.content = content; } /** * @return the title */ @Property(name="标题") public String getName() { return name; } /** * @param titlethe titleto set */ public void setName(String name) { this.name= name; } /** * @return the checkDescription */ @Property(name="作者") public String getAuthor() { return author; } /** * @param authorthe authorto set */ public void setAuthor(String author) { this.author= author; } } 上面的代码中,除去JPA的Annotation之外,有两个你会觉得陌生的annotation,他们都是Metawork定义的。 一个是标记在类上面的DomainModel。这个注解向metawork说明了几件事情,首先,当前实体的显示名称是"文章",其次,管理这个实体的页面文件会放在webapp/article目录下,最后,这个实体归类为"文章"。 另外一个标记是Property。上面的代码中仅用到了他的一个属性name,向metawork说明这个属性的显示名称。 需要注意的是,这些标记和属性都是可选的。如果你不加这些标记,或者不写其中的一些属性,那么metawork会根据这个实体类的信息来确定一些默认值。 然后创建一个Hibernate配置文件,告诉Hibernate你要将Application类持久化到数据库。在src/main/webapp/WEB-INF/config目录中创建一个目录article用于存放本项目的配置,然后在其中创建hibernate.cfg.xml。这里目录名可以随意,但这个配置文件名必须是hibernate.cfg.xml。metawork会自动读取config目录下的所有子目录中的hibernate.cfg.xml。 <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <mapping class="com.mycompany.article.entity.Article"/> </session-factory> </hibernate-configuration> 3.创建表单根据实体类上面的标记,我们要把管理Article实体的页面文件放到article目录下。于是我们在src/main/webapp中创建article目录,然后创建表单页面article-edit.jsp(这个文件名是有讲究的,实际上是"实体别名-操作别名.jsp",这样就不必在后台配置视图位置了)。文件内容很简单,就是一个使用了struts2标记的表单页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ include file="/metawork/common/taglibs.jsp"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <%@ include file="/metawork/common/meta.jsp"%> <title>Insert title here</title> <script type="text/javascript" src="${ctx}/metawork/common/script/common.js"></script> <script type="text/javascript" src="${ctx}/metawork/common/script/form.js"></script> <link rel="stylesheet" type="text/css" href="${ctx}/metawork/style/form.css"/> <s:head/> </head> <body> <div id="formDiv"> <s:form id="articleForm" validate="true"> <s:hidden name="id"/> <s:textfield name="entity.name" label="标题"/> <s:textfield name="entity.author" label="作者"/> <s:textarea name="entity.content" label="内容" rows="5" cols="50"/> <s:submit id="saveButton" value="保存" onclick="saveEntity('articleForm');return false;"></s:submit> </s:form> </div> </body> </html> 4.运行在命令行中执行mvn package,把项目构建成为一个war包。然后放到Tonmcat6的webapps目录下,然后启动之。 5.配置系统启动后,访问应用,系统提示你需要登录。输入默认的系统管理员用户名和密码admin,lingdot。登录后,你将看到metawork系统管理的主界面。 展开节点"组织机构",可以看到一个机构"零点工作室",然后点击这个机构节点,在右边出现的第一个Tab页"人员"列表中,选中"管理员",打开。此时会出现管理员这个用户的信息编辑页面。选中节点树上的根节点,点击下面的"新增"按钮,在出现的对话框中输入"文章管理",点击确定。然后选中新出现的"文章管理"节点,点击节点属性,会出现该节点的属性编辑对话框。点击新建按钮,加入一个新的属性,属性名是"function",并在右边的值输入框中输入"article",含义是点击这个节点的时候使用文章管理功能(这是系统初始化后自动创建的一个功能,名字是实体类名小写第一个字母的结果,该功能可以管理全部的文章数据,可以执行通用列表、通用编辑、通用查看等操作),然后点击确定。最后点击页面下方的保存按钮。 至此我们给管理员这个用户新增了文章管理节点,这个用例开发配置也就就完成了。。在整个工作区间的上方的欢迎信息后面有三个按钮,点击第三个按钮(刷新树),此时可以看到节点树上出现了我们新增加的节点。点击该节点,就可以体验一下Metawork提供的基础功能了~。 6.其他
|
导航 团队
| ||||||||||||||
文章的CRUD
(没有)