`

spring ckeditor and prettify sample

 
阅读更多
POM.XML

<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring.version}</version>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring.version}</version>
		</dependency>
		
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>



web configuration
<servlet>
		<servlet-name>dispatcher</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/demo-servlet.xml</param-value>
		</init-param>
	</servlet>


servlet configuration
<bean
		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix">
			<value>/WEB-INF/pages/</value>
		</property>
		<property name="suffix" value=".jsp" />
	</bean>


ckeditor configuration
CKEDITOR.plugins.add('insertcode',

{

	requires : [ 'dialog' ],

	init : function(a)

	{

		var b = "insertcode";

		a.addCommand(b, new CKEDITOR.dialogCommand(b));

		a.ui.addButton("insertcode", {

			label : a.lang.toolbar,
			command : b,
			icon : this.path + "images/code.png"
		});

		CKEDITOR.dialog.add(b, this.path + "dialogs/insertcode.js");
	}

});


(function() {
	CKEDITOR.dialog.add("insertcode", function(editor) {

		var escape = function(value) {

			return value.replace(/&/g, '&amp;')

			.replace(/</g, '&lt;')

			.replace(/>/g, '&gt;')

			.replace(/\"/g, '&quot;')

			.replace(/\'/g, '&#39;');

		};

		return {
			title : "Insert Code Dialog",
			resizable : CKEDITOR.DIALOG_RESIZE_BOTH,
			minWidth : 420,
			minHeight : 350,
			contents : [ {
				id : "cb",
				name : "cb",
				label : "cb",
				title : "resource code",
				expand : true,
				width : "500px",
				height : "500px",
				padding : 0,
				elements : [
						{
							type : "select",
							label : "Select Language :",
							id : "lang",
							required : true,
							'default' : "java",
							items : [ [ 'C#', 'csharp' ], [ 'C++', 'cpp' ],
									[ 'CSS', 'css' ], [ 'Delphi', 'delphi' ],
									[ 'Html', 'xhtml' ],
									[ 'JavaScript', 'js' ], [ 'Java', 'java' ],
									[ 'Perl', 'perl' ], [ 'PHP', 'php' ],
									[ 'Python', 'py' ], [ 'Ruby', 'rails' ],
									[ 'SQL', 'sql' ], [ 'Visual Basic', 'vb' ],
									[ 'XML', 'xml' ] ]
						}, {
							type : 'textarea',
							style : 'width:450px;height:350px',
							label : 'Code',
							id : 'code',
							rows : 20,
							'default' : ''

						} ]
			} ],

			onOk : function() {

				code = this.getValueOf('cb', 'code');
				lang = this.getValueOf('cb', 'lang');
				html = '' + escape(code) + '';

				var i = 0;
				var tmp = '';
				var tclass = 'prettyprint';

				while (html.indexOf('\n') != -1) {
					var tnode = i % 2 ? 'nocode' : 'nocode1';
					++i;
					tmp += '<li class=\"' + tnode + '\"><pre class=\"' + tclass
							+ ' lang=' + lang + '\">';
					tmp += html.substring(0, html.indexOf('\n') + 1);
					html = html.substr(html.indexOf('\n') + 1);
					tmp += "</pre></li>";
				}

				tnode = i % 2 ? 'nocode' : 'nocode1';
				tmp += "<li class=\"" + tnode + "\"><pre class=\"" + tclass
						+ ' lang=' + lang + '\">' + html + "</pre></li>";
				editor.insertHtml("<ol class=\"olcode\">" + tmp + "</ol>");
			},

			onLoad : function() {
			}
		};

	});
})();


<script type="text/javascript" src="prettify/prettify.js"></script>
<script src="ckeditor/ckeditor.js"></script>

<link href="ckeditor/samples/sample.css" rel="stylesheet" />
<link href="prettify/prettify.css" type="text/css" rel="stylesheet" />

<style>
</style>

</head>
<body>
	<form name="myform" action="<%=request.getContextPath()%>/home/add.html"
		method="post">
		<textarea class="ckeditor" name="content"></textarea>
		<input type="submit" name="submit" />
	</form>

</body>




分享到:
评论

相关推荐

    ckeditor_sample__5.zip

    在"ckeditor_sample__5.zip"这个压缩包中,我们很可能是找到了一个关于如何使用CKEditor的教程系列的第五部分的源码。这篇博客文章的作者可能详细讲解了CKEditor的一些高级特性或者特定的使用场景,帮助开发者更好地...

    ckeditor_sample_blog_4.rar

    《使用CKEditor构建高效博客平台——姜哥教程第四篇章解析》 CKEditor,作为一个强大的富文本编辑器,广泛应用于各种在线内容创作平台,包括博客、论坛、CMS系统等。本教程将深入剖析“姜哥手把手教你用ckeditor...

    ckeditor_sample_5.rar

    在"ckeditor_sample_5.rar"这个压缩包中,我们可以看到与CKEditor相关的样例和资源,这显然是姜哥(可能是一位技术博主或教师)关于如何使用CKEditor的系列教程的第五部分。通过分析提供的文件名,我们可以推测这次...

    ckeditor_sample_blog_2.rar

    **ckeditor_sample_blog_2.rar** 是一个压缩包文件,包含了使用CKEditor构建博客样例的资源,特别是针对"ckeditor_sample_blog_2"项目。CKEditor是一款功能强大的富文本编辑器,广泛应用于网页内容编辑和发布,它...

    springmc ckeditor ckfinder三者整合

    在IT行业中,Spring MVC、CKEditor和CKFinder是三个非常重要的工具,它们分别在Web开发的不同方面发挥着关键作用。Spring MVC是Spring框架的一部分,用于构建高性能、灵活的MVC(Model-View-Controller)应用程序;...

    CKEditor3.5.2+CKfinder

    CKEditor和CKFinder是两个非常重要的Web内容编辑和管理工具,尤其在网页开发和内容管理系统中广泛应用。CKEditor3.5.2是一个成熟的富文本编辑器,而CKFinder则是一个文件管理和上传组件,它们通常一起使用,以提供一...

    ckeditor整合Spring MVC实现富文本编辑器上传图片实例

    ckeditor整合Spring MVC实现富文本编辑器上传图片实例 项目描述 SpringMVC 实现Ckeditor富文本编辑器,上传图片 运行环境 jdk8+tomcat8+mysql+eclipse 项目技术(必填) spring+spring mvc

    CKEditor4.3.4增加插入高亮代码插件_整合版

    总之,"CKEditor4.3.4增加插入高亮代码插件_整合版"是一个集成了代码高亮功能的富文本编辑器,通过与Google Code Prettify的配合,使得在网页上展示和编辑代码变得更加便捷和美观,对于需要频繁处理代码内容的网站或...

    ckeditor.rar

    CKEditor是一款知名的开源富文本编辑器,广泛应用于博客、论坛、内容管理系统等多个领域。 CKEditor的主要特点包括: 1. **易用性**:CKEditor提供了直观的用户界面,使得非程序员也能轻松编辑内容。其设计考虑了...

    CKEDITOR 编辑器本地上传图片(好)

    CKEDITOR编辑器是一款广泛应用于网页开发中的开源富文本编辑器,它提供了丰富的文字编辑功能,如格式化、图片上传、链接插入等,使得用户在网页上可以像在桌面应用程序中一样编辑内容。在这个主题中,我们将深入探讨...

    ckeditor4and5.rar

    CKEditor分为两个主要版本:CKEditor 4 和 CKEditor 5,这两个版本各自具有不同的特点和适用场景。 CKEditor 4是较早的版本,以其稳定性和丰富的功能集而闻名。它提供了各种预设的工具栏选项,允许用户根据需求...

    ckeditor5-v30 全工具版.rar

    ,基本将免费的工具备齐了,源文件,可自行修改重新打包,node_modules 文件夹为包文件,该文件夹容量较大,在实际应用时可以删除,必须在网站模式使用,如:http://127.0.0.1/ckeditor5-build-classic/sample/,...

    ckeditor5全屏按钮

    CKEditor 5是一款先进的富文本编辑器,专为现代Web应用程序设计。它的全屏按钮功能是编辑器的一个重要特性,允许用户将编辑区域扩展到浏览器的整个窗口,从而提供无干扰的写作体验。这个功能在编写长篇文章、报告...

    ckeditor5_v19完整版

    `sample` 目录可能包含了示例代码或演示页面,让用户能够直观地了解编辑器的使用方法和功能特性。通过这些示例,用户可以学习如何配置编辑器、自定义工具栏、处理事件等高级功能。 `translations` 目录可能包含了...

    ckeditor 行间距插件

    "ckeditor 行间距插件"就是专门为CKEditor设计的一个增强功能,旨在让用户能够更加灵活地调整文本的行间距,以满足不同设计需求。 CKEditor 的行间距插件通常包含以下几个核心知识点: 1. **安装与集成**:首先,...

    ckeditor4 行高插件

    《ckeditor4行高插件详解及应用》 在网页编辑器的发展中,CKEditor一直以其强大的功能和良好的用户体验而备受青睐。CKEditor4是其重要的一代产品,它提供了丰富的可扩展性,允许用户根据需求定制编辑器的功能。在...

    让ckeditor只读 让ckeditor只读

    把ckeditor 3.4的ckeditor.js复盖就行

    ckeditor5 v23全工具版源文件(php)

    下载配置了ckfinder,因考虑版权没有该文件,如果要实现下载功能,请将ckfinder以"ckfinder”为名命名文件夹放置在网站根目录,编辑器网页示例文件为ckeditor5-23.0.0\packages\ckeditor5-build-classic\sample\index...

    ckeditor配置上传视频

    最近项目开发需要用到CKEditor在线编辑器,但发现他本身没有自带,所以需要自己手动配置插件。但网上很多配置都有问题,自己摸索了好久终于搞定。需要注意的细节有:flvPlayer文件夹的内容直接放在ckeditor文件夹...

    ckeditor 自定义上传图片

    **ckeditor自定义上传图片** 在使用ckeditor作为富文本编辑器时,经常需要集成图片上传功能。ckeditor是一款强大的在线文本编辑器,它提供了丰富的文本格式化工具,使得在网页上编辑内容变得简单。然而,ckeditor...

Global site tag (gtag.js) - Google Analytics