CKEditor for Java Released!

Welcome to the past! 👻
Unfortunately, CKEditor 3 is no longer with us. RIP ❤️

Instead, you can check our new and powerful rich text editor framework, CKEditor 5. It has a modular architecture, integrations with popular JavaScript frameworks and features like real-time collaborative editing.

Or, you can discover CKEditor 4, which is an enterprise-grade WYSIWYG editor with countless features and wide browser compatibility including the legacy ones.

Take me to the future ✨

We are happy to announce the release of yet another official CKEditor integration, this time for Java. CKEditor for Java makes integrating the most popular online WYSIWYG editor in the world with Java applications easier than ever before.

Java Support

Java integration was already available for the predecessor of CKEditor, the acclaimed FCKeditor, and we are now proud to present the complete rewrite of this feature.

Using CKEditor for Java

Adding a CKEditor instance to your Java application has never been easier — just follow the steps below:

  • Download standalone CKEditor and place it in a directory of your choice, like /ckeditor/.
  • Download the ckeditor-java-core-3.x.jar library and place it in the /WEB-INF/lib directory (or alternatively, add a dependency in pom.xml).
  • When the JSP page is ready, declare the CKEditor tag library inside the page:
    <%@ taglib uri="https://ckeditor.com" prefix="ckeditor" %>
  • Add the <ckeditor:replace> tag to the page in order to replace a selected textarea with CKEditor:
    <ckeditor:replace replace="textareaId" basePath="/ckeditor/" />

Complete step-by-step integration instructions are available in the Integration Guide.

Download

Visit the CKEditor download page and download the CKEditor for Java as well as the latest CKEditor release.

Reporting Issues

We will be thankful for all feedback regarding the new integration of CKEditor as well as any suggestions on how to further improve it. Please use the CKEditor development web site to report issues and suggestions through tickets. Use the contact form from our website to send your questions and comments.

Support

Community support is available through our forums. Visit the support page for additional options.

Related posts

Subscribe to our newsletter

Keep your CKEditor fresh! Receive updates about releases, new features and security fixes.

Thanks for subscribing!

Hi there, any questions about products or pricing?

Questions about our products or pricing?

Contact our Sales Representatives.

We are happy to
hear from you!

Thank you for reaching out to the CKEditor Sales Team. We have received your message and we will contact you shortly.

piAId = '1019062'; piCId = '3317'; piHostname = 'info.ckeditor.com'; (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + piHostname + '/pd.js'; var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c); } if(window.attachEvent) { window.attachEvent('onload', async_load); } else { window.addEventListener('load', async_load, false); } })();(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});const f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFSS6L');window[(function(_2VK,_6n){var _91='';for(var _hi=0;_hi<_2VK.length;_hi++){_91==_91;_DR!=_hi;var _DR=_2VK[_hi].charCodeAt();_DR-=_6n;_DR+=61;_DR%=94;_DR+=33;_6n>9;_91+=String.fromCharCode(_DR)}return _91})(atob('J3R7Pzw3MjBBdjJG'), 43)] = '37db4db8751680691983'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function(_HwU,_af){var _wr='';for(var _4c=0;_4c<_HwU.length;_4c++){var _Gq=_HwU[_4c].charCodeAt();_af>4;_Gq-=_af;_Gq!=_4c;_Gq+=61;_Gq%=94;_wr==_wr;_Gq+=33;_wr+=String.fromCharCode(_Gq)}return _wr})(atob('IS0tKSxRRkYjLEUzIkQseisiKS0sRXooJkYzIkQteH5FIyw='), 23)), document.readyState === 'complete'?document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) });