富文本编辑器Ueditor 及 hibernate 逆向工程

时间:2023-03-08 19:04:27

1.1           富文本编辑器Ueditor

ueditor下载地址:

http://ueditor.baidu.com/ 下载1.4.3 –utf8-Jsp版本。完整demo可参考下载文件中的index.html

导入 ueditor 到项目中;将ueditor导入到项目的js目录下。导入ueditor/jsp/lib目录中的“commons-codec-1.9.jar”、“json.jar”、“ueditor-1.1.1.jar”这几个jar包到项目的web-inf/lib目录中。

配置 ueditor 中图片上传前缀和路径;打开“ueditor/jsp/config.json”

注意:修改web.xml中struts过滤器的过滤规则,将/*改为 *.action 。避免引起struts过滤器把ueditor的图片等资源上传jsp给拦截而导致上传图片等失败。

<filter-mapping>

<filter-name>struts2</filter-name>

<url-pattern>*.action</url-pattern>

</filter-mapping>

引入ueditor到jsp页面,在ueditor的ueditor.config.js文件中,要求我们需要配置好ueditor的根目录地址;在我们页面引用时也需要在js中制定 UEDITOR_HOME_URL的路径。运用到页面时我们只需要将一个textarea的表单项的id和euditor实例化时的id一致即可。

将下面脚本内容引入到jsp页面中:

<script type="text/javascript" charset="utf-8" src="${basePath}js/ueditor/ueditor.config.js"></script>

<script type="text/javascript" charset="utf-8" src="${basePath}js/ueditor/ueditor.all.min.js"> </script>

<script type="text/javascript" charset="utf-8" src="${basePath}js/ueditor/lang/zh-cn/zh-cn.js"></script>

<script>

//配置ueditor的根路径

var UEDITOR_HOME_URL = "${basePath}js/ueditor/";

var ue = UE.getEditor('editor');

</script>

<s:textarea id="editor" name="info.content" cssStyle="width:90%;height:160px;" />

1.2           异步信息发布

在InfoAction中新增方法 publicInfo,主要用于修改信息的状态。

将新加的未发布的信息,在操作栏点击“发布”后,通过ajax将信息状态改为发布状态并更新列表中对应信息的状态。

在listUI.jsp中需要对状态列、和操作栏中的发布链接新增id来标识,当处理成功后根据id修改对应的值。

新增如下js方法。

2               hibernate逆向工程

2.1           hibernate逆向工程生成实体

介绍一个模型设计工具PowerDesigner,这个是j2ee开发必要的一个工具。一般在开发中先使用PowerDesigner 创建实体关系图即概念模型。建立了概念模型后生成特定数据库类型的物理模型,然后根据物理模型的创建表脚本创建库表;最后使用MyEclipse的hibernate特性针对表逆向生成实体类和映射文件。这样免去了编写实体和映射文件及其实体关系的麻烦。

2.2           设计概念模型

relationship  一般的实体关系都可以使用,如果实体之间的关系指定为多对多,那么在生成pdm时则自动会生成一个以2个实体主键联合起来作为联合主键的一张新的关系表

inheritance 实体之间的继承关系,如:员工——领导

association 关系,如角色与人员存在多对多关系叫做:人员角色,这个关系里面还可能有是否、状态等。

association link 用于连接实体和关系

link/extended dependency 实体或关系的额外信息,信息比较独立;不会产生主外键关系

例如;设计一个人员组织架构:有机构、部门、员工、领导、角色、权限。

一个机构有多个部门

一个部门有多个员工

领导可以管理多个部门,同时领导他自己也是员工

一个员工可以有多个角色

一个角色可以分配给多个人

人员角色分配后可以设置是否有效,分配时间等

一个角色有多个权限

在概念模型阶段直接转成物理模型后,转换后的物理模型可以根据项目实际情况再调整相关信息。

2.3           导出物理模型

在物理模型指定或修复主外键关系,一般情况下只需要制定主键的生成策略,外键关系会从概念模型中保留下来。如果对其自动生成外键关系不满意可以在物理模型中修改。在物理模型中的任何修改都会体现在SQL语句中,所以建表时直接复制其语句即可。

2.4           物理模型 –生成库表

2.5           逆向生成实体及映射文件

1、  添加hibernate facet到项目

右击项目——MyEclipse——Project Facets[compabilities]——install Hibernate facet)

2、  在MyEclipse中打开DB Browser视图:

在 Id Generator 中,如果是mysql 中需要自增的可选择native,如果是uuid的可选择uuid.hex或uuid

完成。在图中设置的对应的目录下则会生成实体和映射文件。