大家如果做项目的时候 ,不出意外,90%以上的项目肯定会用到一款在线编辑器,所以说项目里面整合编辑器是必须要走的一段路,在这里的话 我只是介绍struts2+hibernate项目里怎么配置Fckeditor编辑器,像其他的XHeditor,新浪编辑器等等的我就不多说了。
1,首先你的有fckeditor编辑器,这个去网上下吧。然后我是放在dl_pro_admin目录下了(就是后台文件夹下)
2,需要导入对应的jar包(fckeditor-java-core-2.4.jar),没有的话去官网下或者去csdn等等下载。
3,然后在项目src下建立文件 fckeditor.properties,内容为
#Fckeditor setting
#用户上传文件路径目录
connector.userFilesPath=/dl_pro_admin/userUploadFile
connector.userActionImpl=net.fckeditor.requestcycle.impl.UserActionImpl
4,首先确定一点是,所有的牵扯action的操作 都要加上.action,例如提交操作form里面的 addNew.action 原先的时候我都不加.action因为struts2默认会给你加上.action, 但是后来配了编辑器发现,我错了,费了好大的力气,所有的action操作全都加上.action了。
5,这里配完以后,那么web.xml里面需要改一下了。我把我的全都贴出来了。注意不是/*了,而是*.action *.jsp了。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>test.jsp</welcome-file>
</welcome-file-list>
<!-- FCKeditor配置 -->
<servlet>
<servlet-name>Connector</servlet-name>
<servlet-class>net.fckeditor.connector.ConnectorServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Connector</servlet-name>
<url-pattern>/dl_pro_admin/fckeditor/editor/filemanager/connectors/*</url-pattern>
</servlet-mapping>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
</web-app>
6,现在的话 所有配置都结束了,然后看在网站后台页面中怎么调用。
7,页面加载编辑器,在页面头部加入以下代码,自己注意路径,进行修改
<link href="<%=basePath %>dl_pro_admin/fckeditor/_samples/sample.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="<%=basePath %>dl_pro_admin/fckeditor/fckeditor.js"></script>
<script type="text/javascript">
//初始化fckeditor
window.onload = function()
{
var sBasePath = "<%=basePath %>dl_pro_admin/fckeditor/";
var oFCKeditor = new FCKeditor( 'pro_news_content' ) ;
oFCKeditor.Width="100%";
oFCKeditor.Height="300";
oFCKeditor.BasePath = sBasePath ;
oFCKeditor.ReplaceTextarea() ;
}
</script>
form表单如下
<form action='add.action' method='post'>
<textarea name="pro_news_content" rows="10" cols="80">
</textarea>
</form>
这样就完了,获取的时候 这个pro_news_content跟普通<input type='text' name='usernmae' />里的username一样,正常操作.