seam 中使用fckeditor 的点点滴滴

这几天用seam +fckeditor做一个可以发布的上传文件的新闻发布系统.
在实现的时候,发现seam2 竟然 不怎么支持MyFaces1.2,这样就导致一个问题 由MyFaces1.2支持的fckeditor jsf版本就不能使用了(看fckeditor jsf版的源码得知)。
于是便想自定义一个fckeditor jsf组件自用
附件里面是做好的文件和所需要的库(lxinblog-jsf-component.jar里面有一个web.xml配置范例,其中seam配置有点更改,只关于上传功能的)

其中
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
java-core-2.4.1.jar
slf4j-api-1.5.2.jar
slf4j-simple-1.5.2.jar
这些是fckeditor-java-demo-2.4.1 里面的lib也是上传功能的实现
lxinblog-jsf-component.jar是我自己定义的jsf-component,用来实现导出fck的js和数据的绑定


下面是我使用的一个例子
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:s="http://jboss.com/products/seam/taglib"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:rich="http://richfaces.org/rich"
                xmlns:my="http://lxinblog.net/jsf/component"
                template="/layout/template.xhtml">
<ui:define name="body">
	<rich:panel>
		<f:facet name="header">写文章</f:facet>
		<h:form>
			<s:decorate template="/layout/edit.xhtml">
			<ui:define name="label">添加到</ui:define>
			<h:selectOneMenu value="#{addarticle.selectItem}">
				<f:selectItems value="#{addarticle.pubitems}"/>
			</h:selectOneMenu>
			</s:decorate>
			
			<s:decorate template="/layout/edit.xhtml">
			<ui:define name="label">标题</ui:define>
				<h:inputText styleClass="public-article-name" value="#{article.name}" required="true"/>//article是一个实体类表示文章
			</s:decorate>
			<div style="clear:both" />
			<h:outputText value="#{messages.Context}" styleClass="name" />
				
			<div style="clear:both" />	
			
			<my:editor styleClass="value" value="#{article.context}"></my:editor>
			<div style="clear:both" />
			<ui:decorate template="/layout/verify.xhtml"></ui:decorate>
			<div style="clear:both" />
			<h:commandButton action="#{addarticle.addArticle}" value="添加" />
		</h:form>
	</rich:panel>
</ui:define>


其它fck配置我就不多说了自己google下
上面只是我个人的一些小经验,如有不对,欢迎大家指出(这个没有转换'等特殊符号使用时请自行转换)
把fckeditor-java-demo-2.4.1里面的fckeditor文件夹下的要考到你的应用根目录
fckeditor-java-demo-2.4.1下载地址

你可能感兴趣的:(java,qq,fckeditor,JSF,seam)