浏览 4226 次
锁定老帖子 主题:一个FCKeditor例子(on SWF)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-10-26
注:对于这个例子我只剪切了部分的主要的代码,并且这个工程是基于SWF之上的一个应用实例,以前有一种做法就是直接在IFRAME调用FCKeditor页面即可,但有些强大的功能就会受限,比如:上传的轷片存不到服务器端等等。所以现在换了另一种方式来解决这个问题 对于FCKeditor的JS和页面我就不贴出来了,只贴一些相关配置,并添上附件供参考,谢谢! web.xml -------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <!-- FCKeditor configuration begin --> <servlet> <servlet-name>Connector</servlet-name> <servlet-class>com.fredck.FCKeditor.connector.ConnectorServlet</servlet-class> <init-param> <param-name>baseDir</param-name> <param-value>/UserFiles/</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>SimpleUploader</servlet-name> <servlet-class>com.fredck.FCKeditor.uploader.SimpleUploaderServlet</servlet-class> <init-param> <param-name>baseDir</param-name> <param-value>/UserFiles/</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>enabled</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>AllowedExtensionsFile</param-name> <param-value></param-value> </init-param> <init-param> <param-name>DeniedExtensionsFile</param-name> <param-value>php|php3|php5|phtml|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi</param-value> </init-param> <init-param> <param-name>AllowedExtensionsImage</param-name> <param-value>jpg|gif|jpeg|png|bmp</param-value> </init-param> <init-param> <param-name>DeniedExtensionsImage</param-name> <param-value></param-value> </init-param> <init-param> <param-name>AllowedExtensionsFlash</param-name> <param-value>swf|fla</param-value> </init-param> <init-param> <param-name>DeniedExtensionsFlash</param-name> <param-value></param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Connector</servlet-name> <url-pattern>/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>SimpleUploader</servlet-name> <url-pattern>/FCKeditor/editor/filemanager/upload/simpleuploader</url-pattern> </servlet-mapping> <!-- FCKeditor configuration end --> </web-app> ******************************************** CateNewsEditAction.java --------------------------------------------- package com.ihomey.aca.action.manage.food; import java.io.File; import java.util.Date; import org.coreframework.annotation.Param; import org.coreframework.web.upload.DefaultFileSaver; import org.coreframework.web.upload.FileSave; import org.coreframework.web.upload.FileUpload; import org.coreframework.web.upload.UploadUtils; import org.coreframework.web.upload.Uploader; import org.coreframework.webflow.ActionUtils; import org.coreframework.webflow.Form; import org.coreframework.webflow.action.EditEntityFormAction; import org.springframework.validation.Errors; import org.springframework.web.multipart.MultipartFile; import org.springframework.webflow.Event; import org.springframework.webflow.RequestContext; import com.ihomey.aca.action.manage.it.EditBrandHistoryAction; import com.ihomey.aca.entity.CateNews; import com.ihomey.aca.service.CateNewsMgr; /** * <p> * Title:添加与修改 * </p> * * <p> * Description: BrandHistory 添加与修改操作 * </p> * * <p> * Copyright: Copyright (c) 2007 10 * </p> * * <p> * Company: DDH * </p> * * @author Winner * @version 2.0 */ /* * 美食美事 */ @Form(objectClass = CateNews.class) public class CateNewsEditAction extends EditEntityFormAction { private CateNewsMgr cateNewsMgr; public CateNewsMgr getCateNewsMgr() { return cateNewsMgr; } public void setCateNewsMgr(CateNewsMgr cateNewsMgr) { this.cateNewsMgr = cateNewsMgr; } /** * 装载FORM,及初始化值操作 * * @param context * RequestContext * @return Event * @throws Exception */ public Event setupForm(RequestContext context) throws Exception { super.setupForm(context); return success(); } /** * 保存操作事件 * * @param context * RequestContext * @return Event * @throws Exception */ public Event save(RequestContext context) throws Exception { CateNews cn = (CateNews) getFormObject(context); Errors errors = getFormErrors(context); if (cn != null) { try { EditBrandHistoryAction ebha = new EditBrandHistoryAction(); String content = ebha.reHtml( context.getRequestParameters().get("content"), 5000).replace("'", "''"); cn.setInfoContent(content); cn.setPublishTime(new Date()); cateNewsMgr.saveCateNews(cn); return success(); } catch (Exception e) { return error(); } } } } ******************************************** CateNewsEdit.jsp -------------------------------------------- <%@page contentType="text/html; charset=UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="css/brand_style.css"> <title>美食美事</title> <script language="javascript" src="/fck/FCKeditor/fckeditor.js"></script> </head> <body style="margin: 50px 20px 20px 20px;"> <spring:bind path="cateNews.*"> <c:forEach var="error" items="${status.errorMessages}"> <B><FONT color=RED> <br> <c:out value="${error}" /> </FONT></B> </c:forEach> </spring:bind> <div class="title border"><c:if test="${cateNews.cateNewsId==null}"> <c:out value="添加美事"></c:out> </c:if> <c:if test="${cateNews.cateNewsId!=null}"> <c:out value="更新美事"></c:out> </c:if></div> <form action="food-mgr.htm" enctype="multipart/form-data" method="post"> <input type="hidden" name="_flowExecutionKey" value="${flowExecutionKey}"> <input type="hidden" name="_eventId" value="submit"> <c:if test="${cateNews.cateNewsId!=null}"> <input type="hidden" name="cateNewsId" value="${cateNews.cateNewsId}"> </c:if> <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF"> <tr> <td class="table" width="160" bgcolor="#d6dff7" valign="top" align="right">美事标题</td> <td class="table" valign="top"><input name="infoCaption" type="text" size="30" value="${cateNews.infoCaption}" class="input1" /></td> </tr> <tr> <td class="table" height="500" bgcolor="#d6dff7" align="right" valign="top">美事内容</td> <td class="table" valign="top"> <textarea name="content" id="content" style="display: none">${cateNews.infoContent}</textarea> <!--这个是用以前方法实现的,但不能直接把图片上传到服务器,所以这种方式不可取 <iframe id="EditorDefault" src="fck/FCKeditor/editor/fckeditor.html?InstanceName=Body&Toolbar=Default" width="100%" height="300" frameborder="no" scrolling="no"></iframe> --> </td> </tr> <tr> <td height="80" colspan="2" align="center" bgcolor="#E8F1FF"> <input type="submit" value="提交" width="60" height="27" border="0"> <input type="button" value="取消" onClick="javascript:history.back();"> </td> </tr> </table> </form> window.onload = function() { // Automatically calculates the editor base path based on the _samples directory. // This is usefull only for these samples. A real application should use something like this: // oFCKeditor.BasePath = '/fckeditor/' ; // '/fckeditor/' is the default value. var language = '<bean:write name="language"/>'; language = language.toLowerCase(); var sBasePath = '../../FCKeditor/'; var oFCKeditor = new FCKeditor( 'content' ) ; oFCKeditor.BasePath = sBasePath ; oFCKeditor.ToolbarSet = "Default"; oFCKeditor.Height = "500"; oFCKeditor.Width = "100%"; oFCKeditor.SkinPath = "../../FCKeditor/editor/skins/silver/"; if(language == 'zh_cn'){ oFCKeditor.Config["AutoDetectLanguage"] = "false"; oFCKeditor.Config["DefaultLanguage"] = "zh-cn"; }else{ oFCKeditor.Config["AutoDetectLanguage"] = "false"; oFCKeditor.Config["DefaultLanguage"] = "en"; } oFCKeditor.ReplaceTextarea() ; var oFCKeditor_en = new FCKeditor( 'content_en_us' ) ; oFCKeditor_en.BasePath = sBasePath ; oFCKeditor_en.ToolbarSet = "Default"; oFCKeditor_en.Height = "500"; oFCKeditor_en.Width = "100%"; oFCKeditor_en.SkinPath = "../../FCKeditor/editor/skins/silver/"; if(language == 'zh_cn'){ oFCKeditor_en.Config["AutoDetectLanguage"] = "false"; oFCKeditor_en.Config["DefaultLanguage"] = "zh-cn"; }else{ oFCKeditor_en.Config["AutoDetectLanguage"] = "false"; oFCKeditor_en.Config["DefaultLanguage"] = "en"; } oFCKeditor_en.ReplaceTextarea() ; } </body> </html> ************************************************ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |