快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

JSP中怎么集成FCKEditor

这篇文章给大家介绍JSP中怎么集成FCKEditor,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

成都创新互联公司是一家专注于成都网站建设、成都网站设计与策划设计,乌恰网站建设哪家好?成都创新互联公司做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:乌恰等地区。乌恰做网站价格咨询:18980820575

目前,FCKEditor (http://www.fckeditor.net/) 是开源社区一款强大的HTML编辑器,目前***版本是2.6,支持Java的插件版本是2.4Beta1。

对于一般的Java Web应用,我们可以通过直接插入JavaScript代码来构造页面,这种方式操作起来比较简便,也是通用在所有web页面的一种方式。但是,在实际的 Java Web应用中,我们除了用到普通的页面编辑功能之外,难免会考虑到页面上传图片、附件等功能。所以,单纯使用JavaScript方式的话,这一大堆的文件上传代码将由你自己来写了,工程量还是比较浩大的。自然而然,我们会想到Jsp Tag,有没有现成的快餐式的页面标签呢?答案是肯定的,就如我上文提到的Java插件就已经实现了这些功能,并集成了Apache Commons-FileUpload,以此来实现文件服务器上传。

2.4版的Java插件已经封装得更加简洁,不同于之前的其他版本。标签的使用方式是

  1. <%@taglib uri="http://java.fckeditor.net" prefix="FCK"%>      

  2.  instanceName="EditorDefault" width="755" height="460" basePath=                                        "/fckeditor" value="Hello, world">      

  3.         

  4.      SkinPath="skins/office2003/" />      

  5.   jsp:body>      

  6. FCK:editor>    

在JSF应用中,由于页面都是JSF自定义标签,对于其他标签的内容,JSF不会自动将后台Bean中的值绑定到,那么我们还要做做文章,通过一段JavaScript绑定到body_onload()事件中,以此将JSF 标签的内容传递给

  1.  type="text/javascript">          

  2.     function renderMessage() {      

  3.         YAHOO.util.Dom.get("EditorDefault").value = YAHOO.util.Dom.get("form:content").value;      

  4.     }      

  5. script>          

  6.       

  7.    id="form">      

  8.      id="content" value="#{mainMessageEditBean.                                             message.messageContent}" style="display:none">h:inputTextarea>      

  9.   h:form>      

  10. f:view>  


保存HTML编辑内容的时候,你只需要通过获得到的HttpServletRequest对象获取页面提交中的Parameter对象,示例代码如下:

  1.  public Map getParamMap() {      

  2.      return getFacesContext().getExternalContext().getRequestParameterMap();      

  3.  }      

  4.  public String getParamAsString(String paramName) {      

  5.     Object obj = getParamMap().get(paramName);      

  6.     if (obj != null) {      

  7.          return obj.toString();          

  8. } else {      

  9.         return "";      

  10.      }      

  11.  }        

  12.  public String saveMessage() {      

  13.     if (message == null) {      

  14.          setErrMsg("Message does not exist.");      

  15.         return null;                  

  16.      }      

  17.     String content = getParamAsString("EditorDefault");      

  18.     if (content == null || content.length() == 0) {      

  19.          setErrMsg("Message must not be empty.");      

  20.          return null;                              

  21.      }      

  22.  }     

其他方面,我们需要在自己的web.xml中定义FCKEditor相关的Servlet:

  1.       

  2.   Connectorservlet-name>      

  3.           

  4.          net.fckeditor.connector.ConnectorServlet      

  5.     servlet-class>      

  6.     1load-on-startup>      

  7. servlet>      

  8.       

  9.     Connectorservlet-name>      

  10.           

  11.          /fckeditor/editor/filemanager/connectors/*      

  12.     url-pattern>      

  13. servlet-mapping>  

这里需要注明的是,/fckeditor这个web根目录下的目录来源于FCKEditor的核心包(Ver 2.6),可以在官方网站上面下载得到。

在目录/fckeditor下面有一个重要的文件fckconfig.js,里面可以配置许多FCKEditor在页面上的展示风格,大家可以仔细慢慢研究 :)

PS: 考虑到安全问题,建议大家把FCKEditor界面上的Source Code按钮屏蔽掉,防止黑客的恶意脚本的破坏。

在我的实际应用中,因为要限制上传文件的权限,所以我要用到权限控制。幸好FCKEditor提供了相应的UserAction接口,可以让我自己实现一个类来控制权限。

  1.   style="font-style: italic;">package com.tail.utils;           

  2.  import javax.servlet.http.HttpServletRequest;      

  3.  import javax.servlet.http.HttpSession;          

  4.  import net.fckeditor.requestcycle.UserAction;             

  5.  import com.tail.beans.Principal;      

  6.  import com.tail.objects.User;            

  7.  public class UserActionImpl implements UserAction {        

  8.      public boolean isEnabledForFileBrowsing(HttpServletRequest req) {              

  9.          return true;      

  10.      }          

  11.      public boolean isEnabledForFileUpload(HttpServletRequest req) {      

  12.          HttpSession session = req.getSession();      

  13.          Principal principal = (Principal) session.getAttribute(ConstantUtil.SESSION_PRINCIPAL);      

  14.          if (principal != null) {        

  15.              User user = principal.getUser();      

  16.              if (user.isUploadable()) {      

  17.                  return true;      

  18.              }      

  19.          }      

  20.          return false;      

  21.      }           

  22.  }  em>   

如何加载自定义的UserAction类呢?在classes的根目录下,你需要定义一个fckeditor.properties文件:

  1.   style="font-style: italic;">connector.userActionImpl=com.                                                                             tail.utils.UserActionImpl  em>   

关于JSP中怎么集成FCKEditor就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前题目:JSP中怎么集成FCKEditor
网站链接:http://6mz.cn/article/jhdhis.html

免费获取网站建设与品牌策划方案报价

*主要业务范围包括:高端网站建设, 集团网站建设(网站建设网站制作)找网站建设公司就上快上网。
提交需求

    联系我们

    028-86922220
  • 手机:13518219792
  • 地址:成都市太升南路288号锦天国际A幢1002号
  • 24小时服务热线:400-028-6601

    网站建设服务

  • 网页设计
  • 网站制作
  • 网站开发

    网站推广服务

  • 营销网站建设
  • 百度快速排名
  • 整站网站推广

    网站运维服务

  • 基础维护
  • 网站改版
  • 网站维护

    FOLLOW US

  • 微信二维码

    微信二维码

Copyright © 2022 成都快上网科技有限公司 成都网站建设公司-选网站建设公司快上网!国内专业的网站制作公司!
All Rights Reserved 版权所有 蜀ICP备19037934号-11