zoukankan      html  css  js  c++  java
  • fckeditor的简单使用

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    <script type="text/javascript" src="res/js/jquery.js"></script>
    <script type="text/javascript" src="res/fckeditor/fckeditor.js"></script>
    <script type="text/javascript">
    $(function(){
        var fck=new FCKeditor("myTextArea");
        fck.BasePath="res/fckeditor/";
        fck.ReplaceTextarea();
    })
    
    </script>
    </head>
    <body>
    <textarea rows="" cols="" id="myTextArea"></textarea>
    </body>
    </html>

    以上是最基础的引入,同时可以自定义编辑框的工具栏,在fckconfig.js中复制

    FCKConfig.ToolbarSets["Default"] = [
        ['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
        ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
        ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
        ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],
        '/',
        ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
        ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','CreateDiv'],
        ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
        ['Link','Unlink','Anchor'],
        ['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],
        '/',
        ['Style','FontFormat','FontName','FontSize'],
        ['TextColor','BGColor'],
        ['FitWindow','ShowBlocks','-','About']        // No comma for the last row.
    ] ;

    更改为

    FCKConfig.ToolbarSets["myToolBar"] = [
                                        ['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],
                                        ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
                                        ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
                                        ['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField']
                                        ] ;

    之后在jsp中添加

    $(function(){
        var fck=new FCKeditor("myTextArea");
        fck.BasePath="res/fckeditor/";
        fck.ToolbarSet="myToolBar";//自定义工具栏
        fck.ReplaceTextarea();
    })

     fck支持图片上传到服务器,只要加入

    //指定到后台Control层进行实现
    fck.Config["ImageUploadURL"] = "/upload/uploadFck.do";

     注意:写控制层时需要引入相应的jar包java-core-2.6.jar,使用该jar包提供的类来完成代码,如下:

    // 上传Fck图片
        @RequestMapping(value = "/upload/uploadFck.do")
        public void uploadFck(HttpServletRequest request, HttpServletResponse response) {
            // 强转request 支持多个
            MultipartHttpServletRequest mr = (MultipartHttpServletRequest) request;
            // 获取值 支持多个
            Map<String, MultipartFile> fileMap = mr.getFileMap();
            // 遍历Map
            Set<Entry<String, MultipartFile>> entrySet = fileMap.entrySet();
            for (Entry<String, MultipartFile> entry : entrySet) {
                // 上传上来的图片
                MultipartFile pic = entry.getValue();
                // 扩展名
                String ext = FilenameUtils.getExtension(pic.getOriginalFilename());
    
                // 图片名称生成策略
                DateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                // 图片名称一部分
                String format = df.format(new Date());
    
                // 随机三位数
                Random r = new Random();
                // n 1000 0-999 99
                for (int i = 0; i < 3; i++) {
                    format += r.nextInt(10);
                }
    
                // 实例化一个Jersey
                Client client = new Client();
                // 保存数据库
                String path = "upload/" + format + "." + ext;
    
                // 另一台服务器的请求路径是?
                String url = Constants.IMAGE_URL + path;
                // 设置请求路径
                WebResource resource = client.resource(url);
    
                // 发送开始 POST GET PUT
                try {
                    resource.put(String.class, pic.getBytes());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                // 返回Url给Fck fck-core...jar ckeditor
                UploadResponse ok = UploadResponse.getOK(url);
                // response 返回对象
                // response write
                // response print
                // 区别:
                // 字符流
                // 字节流
                try {
                    response.getWriter().print(ok);
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
    
            }
        }
  • 相关阅读:
    Java静态类
    【Java TCP/IP Socket】深入剖析socket——TCP套接字的生命周期
    【Java TCP/IP Socket】深入剖析socket——TCP通信中由于底层队列填满而造成的死锁问题(含代码)
    【Java TCP/IP Socket】深入剖析socket——数据传输的底层实现
    【Java TCP/IP Socket】基于NIO的TCP通信(含代码)
    【Java TCP/IP Socket】Java NIO Socket VS 标准IO Socket
    【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)
    数据结构课后练习题(练习三)7-5 Tree Traversals Again (25 分)
    快速排序详解(lomuto划分快排,hoare划分快排,classic经典快排,dualpivot双轴快排源码)
    Java多线程(一)——线程基础和锁锁锁
  • 原文地址:https://www.cnblogs.com/lm970585581/p/7450763.html
Copyright © 2011-2022 走看看