`
gstarwd
  • 浏览: 1525242 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

fckedit和struts2集成不能上传文件的解决方法

阅读更多

以前在使用fckedit+strut1上传文件很顺利,后来使用了 fckedit+struts2发现附件不能上传了。今天刚刚解决了这个问题,解决办法是使用fckedit2.6版本的就可以了,2.6的版本配置起来 比较简单,在web.xml中不再需要指定taglib,仅需要增加下面的配置:

 

  <servlet>
  <servlet-name>ConnectorServlet</servlet-name>
  <servlet-class>
   net.fckeditor.connector.ConnectorServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>

 <servlet-mapping>
  <servlet-name>ConnectorServlet</servlet-name>
  <!-- Do not wrap this line otherwise Glassfish will fail to load this file -->
  <url-pattern>/fckeditor/editor/filemanager/connectors/*</url-pattern>
 </servlet-mapping>

 

从网上下载fckedit2.6 的war包后,把fckedit目录和userfiles目录复制到本地webapps根目录下,另外注意一定要把demo中WEB- INF/classes目录下的fckeditor.properties文件复制过来,如果遗漏这个文件,是会报不能上传文件的错误信息。

 

另外jsp也面中Fckedit标签和以前的不一样,taglib的uri发生变化了,目前 的taglib是这样写的:

 

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

 

fckedit编辑器的格式:

 

   <FCK:editor instanceName="EditorDefault">
    <jsp:attribute name="value">This is some <strong>sample text
     </strong>. You are using <a href="http://www.fckeditor.net ">
     FCKeditor</a>.
    </jsp:attribute>
   </FCK:editor>

 

注意EditorDefault实际就是id名字,但不可以写成 id="EditorDefault",EditorDefault是自己可随意取的名字。在struts2中,可参考以下格式来展示fckedit的文 本内容:

 

    <FCK:editor instanceName="content"  width="100%" height="400" >
      <jsp:attribute name="value"> <s:property value="editEntity.infContent" escape="false" /></jsp:attribute>
    </FCK:editor>
    <s:hidden name="editEntity.infContent" />

 

下面是openjweb cms内容管理系统信息编辑页面的代码,供参考:

 

<%@page contentType="text/html;charset=UTF-8"%>
<%@ page import="org.openjweb.core.util.DropdownListBoxUtil"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags " %>
<%@ taglib uri="http://java.fckeditor.net " prefix="FCK" %>
 
<html>
<head>
 
<title> 档案鉴定与销毁</title>
<style type="text/css">
<!--
body {
 margin-left: 0px;
 margin-top: 0px;
 margin-right: 0px;
 margin-bottom: 0px;
}
-->
</style>
<link href="<%=request.getContextPath() %>/css/bobona.css" rel="stylesheet" type="text/css" />

 
<script language="JavaScript">

 
  
function editInfo()
{
      var o = FCKeditorAPI.GetInstance('content') ;
   var c = o.GetXHTML();
   document.forms[0].elements['editEntity.infContent'].value = c;
      document.forms[0].submit();
}

function getDictName(dbServiceName,entityClassName,codeFieldName,codeFieldValue,nameField,parmType,obj)
{
   StringUtil.getDictNameByCode(dbServiceName,entityClassName,codeFieldName,codeFieldValue,nameField,parmType,{callback:function(data){setDictName(data,obj)}});
}
function setDictName(data,obj)
{
obj.value=data;

}

function fn_keydown()
{
 
  if(event.keyCode==13){
    event.keyCode=9
 
}
}
</script>
<script type='text/javascript' src='<%=request.getContextPath()%>/js/util.js'></script>
<script type='text/javascript' src='<%=request.getContextPath()%>/js/engine.js'></script>
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/StringUtil.js'></script>
<script language="javascript" type="text/javascript" src="<%=request.getContextPath()%>/My97DatePicker/WdatePicker.js"></script>

</head>
<BODY onkeydown="fn_keydown()" >


<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="1" bgcolor="4B6C95"></td>
  </tr>
  <table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td valign="middle" class="Bd11" bgcolor="#D4D0C8">
                <span class="font3">当前位置: 信息编辑</span></td>
               
     
          </tr>
        </table>
        <br />
</table> 
<s:form name="editForm" method="post" action="listCmsInfo!save.action">
 
 
<table align="center" class="bd2">
  <tr>
    <td height="246" scope="col"><br />
        <table align="center" cellpadding="0" cellspacing="0" class="bd4">
        <FONT COLOR="#0000FF"><s:actionmessage /> </FONT>
        <FONT COLOR="#FF0000"><s:actionerror /> </FONT>
          <tr>
        <td class="bd3" ><table width="100%" border="0" cellspacing="0" cellpadding="0">
       
         <tr>
            <td width="10%" class="mains"><s:text name="CmsInfo.infTitle"/></td>
             <td width="40%" class="maint1"><label>
                     <s:textfield key="CmsInfo.infTitle" name="editEntity.infTitle" theme="simple"    size="50"/>
                </label></td>
                   <td width="10%" class="mains">原文作者</td>
             <td width="40%" class="maint1"><label>
                      <s:textfield theme="simple" name="editEntity.infAuthor"   />
                </label></td>
              
        </tr> 
        <tr>
         <td width="10%" class="mains"><s:text name="CmsInfo.infUrl"/></td>
             <td width="40%" class="maint1" colspan="3"><label>
                     <s:textfield theme="simple" name="editEntity.infUrl" size="50"  />
                </label><font color="#FF0000">&nbsp;&nbsp;(说明:如果引用其他地址,则在此填写URL)</font& gt;</td>
        </tr>
       
   <!--      <tr>
            <td width="10%" class="mains"><s:text name="CmsInfo.isUrl"/></td>
             <td width="40%" class="maint1"><label>
                     <s:select theme="simple"   name="editEntity.isUrl"  list="#request['map'].isUrl" listKey="code" listValue="name" emptyOption="true"   />
   
                </label></td>
                
               
             
        </tr>   
       
            <tr>
            <td width="10%" class="mains"><s:text name="CmsInfo.infClickCount"/></td>
             <td width="40%" class="maint1"><label>
                      <s:textfield theme="simple" name="editEntity.infClickCount"  readonly="true"   cssStyle="color:gray" />
   
                </label></td>
               
                 <td width="10%" class="mains"><s:text name="CmsInfo.isAllowFeedback"/></td>
             <td width="40%" class="maint1"><label>
                     <s:select theme="simple"  name="editEntity.isAllowFeedback"  list="#request['map'].isAllowFeedback" listKey="code" listValue="name" emptyOption="true"   />
   
                </label></td>
        </tr>      -->
       
         <tr>
            <td width="10%" class="mains"><s:text name="CmsInfo.infSource"/></td>
             <td width="40%" class="maint1"><label>
                      <s:textfield theme="simple" name="editEntity.infSource"   />
                </label></td>
               
                 <td width="10%" class="mains"><s:text name="CmsInfo.infKeyword"/></td>
             <td width="40%" class="maint1"><label>
                      <s:textfield theme="simple" name="editEntity.infKeyword"   />
                </label></td>
        </tr> 
    <s:hidden name="editEntity.flowStatus"/>
    <s:hidden name="editEntity.updateUid"/>
    <s:hidden name="editEntity.updateDt"/>
    <s:hidden name="editEntity.sortNo"/>
    <s:hidden name="editEntity.pkId"/>
    <s:hidden name="editEntity.objName"/>
    <s:hidden name="editEntity.dataFlg"/>
    <s:hidden name="editEntity.createUid"/>
    <s:hidden name="editEntity.createDt"/>
    <s:hidden name="editEntity.rowId"/>
    <s:hidden name="editEntity.masterRowId"/>
    <s:hidden name="editEntity.cateTreeCode"/>
    <s:hidden name="masterRowId"/>
    <s:hidden name="selId"/>
    <input type="hidden" name="cateTreeCode" value="${cateTreeCode}"/>
   
     <tr align="center">     
 
     <td height="435" colspan="4">
      <FCK:editor instanceName="content"  width="100%" height="400" >
      <jsp:attribute name="value"> <s:property value="editEntity.infContent" escape="false" /></jsp:attribute>
    </FCK:editor>
    <s:hidden name="editEntity.infContent" />
    </td>
    </tr>
  
 
  
      <tr>
          <td width="10%"   align="center" colspan="4">
                   <input type="button" name="Submit22" value="保存" onclick="editInfo();" style=" color:#000000; font-size:12px; width:61px; height:20px; padding:3px; border:0px;background-image:url(<%=request.getContextPath() %>/images/bt.gif)">
                   <!-- <input type="button" name="Submit222" value="返回" onClick="javascript:history.go(-1);" style=" color:#000000; font-size:12px; width:61px; height:20px; padding:3px; border:0px;background-image:url(<%=request.getContextPath() %>/images/bt.gif)" />
                  -->
                  <input type="button" name="Submit222" value="关闭" onClick="opener.window.location.reload();window.close();" style=" color:#000000; font-size:12px; width:61px; height:20px; padding:3px; border:0px;background-image:url(<%=request.getContextPath() %>/images/bt.gif)" />
                    </td>
  
              </tr>
 
</table>

</s:form>
 
</body>
</html>

分享到:
评论

相关推荐

    FCKedit net

    "引用dll文件"表明这个编辑器依赖于.NET Framework的某些DLL库,这些库可能包含必要的类和方法,支持FCKedit的功能实现,如HTML解析、图片上传、格式化等。 【标签】中的"FCKedit"指的是这个编辑器本身,"文本编辑...

    FCKedit两种使用方法

    1. **下载与解压**:首先,你需要从FCKeditor官方网站下载最新版本的编辑器源码,解压缩后得到一个包含多个文件夹和文件的结构。 2. **引入文件**:在你的HTML页面中,通过`&lt;script&gt;`标签引入FCKeditor的核心...

    jsp+fckedit图片上传

    在提供的压缩包文件`mysite`中,可能包含了`jsp`页面、`fckeditor`的相关文件(如`fckeditor.js`、`fckconfig.js`等)、图片上传处理逻辑以及相关的样式和脚本文件。要理解并运行这套系统,需要将这些文件部署到一个...

    fckedit

    2. **兼容性**:它与各种浏览器(如Internet Explorer、Firefox、Chrome和Safari)兼容,确保在不同的平台和环境下都能正常工作。 3. **可自定义**:用户可以根据需要自定义编辑器的界面布局、工具栏按钮以及功能...

    fckedit工具包

    总的来说,fckedit工具包为Java开发者提供了一整套集成富文本编辑功能的解决方案,从基本的编辑器文件到示例应用和详细的使用指南,涵盖了开发、部署和维护的所有环节。通过学习和利用这个工具包,开发者可以快速在...

    fckedit在线文本编辑器 带使用说明

    **fckeditor在线文本编辑器详解** ...了解并掌握其使用方法和配置,能极大地提升Web应用的用户体验和功能丰富度。在实际使用过程中,根据项目的具体需求进行定制和优化,将使fckeditor更好地服务于你的项目。

    fckedit 编辑器

    2. **文件上传安全**:fckeditor支持文件上传,需要限制可上传的文件类型和大小,避免恶意文件上传。 **四、fckeditor与现代编辑器的对比** 随着技术的发展,fckeditor逐渐被更新的编辑器如CKEditor(fckeditor的...

    FCKeditor文件上传漏洞及利用-File-Upload-Vulnerability-in-FCKEditor1

    2. **加强文件上传验证**:在服务器端增加对上传文件类型的严格检查,确保只接受预期的安全文件类型。 3. **限制文件名和路径**:防止攻击者利用特定文件名或路径执行恶意代码。 4. **使用内容过滤**:检查上传文件...

    fckedit(aspnet精简完整包).rar

    2. **引用FCKeditor**:在ASP.NET项目中添加FCKeditor的JavaScript和CSS文件引用,确保编辑器的前端资源能在页面中正常加载。 3. **配置编辑器**:根据项目需求配置FCKeditor的选项,如工具栏布局、语言、图片上传...

    Fckeditor2.64版解决了上传和文件名问题

    Fckeditor2.64版解决了上传和文件名问题,设置虚拟目录的也没影响,只要把Fckeditor\editor\filemanager\connectors\asp目录下配置文件config.asp打开修改ConfigUserFilesPath = "/upload/"部分改成...

    fckedit的使用

    2. **文件上传失败**:文件上传时可能出现权限不足或文件类型限制等问题。检查服务器上的文件管理器连接器配置是否正确,确保文件上传路径具有足够的读写权限。 3. **性能优化**:对于大型项目,FCKeditor可能会因为...

    FCKEDIT2.3

    1. 将解压后的文件上传到服务器的合适位置。 2. 配置fckconfig.js以满足网站的需求。 3. 在网页中引入FCKeditor的JavaScript文件,并调用编辑器的初始化函数。 4. 测试编辑器在不同浏览器下的表现,确保兼容性。 总...

    FckEdit C#版 在线编辑器

    2. 将编辑器的JavaScript库和CSS文件复制到Web项目的相应目录下。 3. 在需要使用编辑器的页面中引入这些文件,并设置编辑器的初始化代码。 4. 如果提供了C#服务器端组件,需要将其添加到项目的引用中,并配置相应的...

    fckedit.2.6.6+mysql+jsp安装(含截图操作说明)

    2. 创建数据库连接,使用`DriverManager.getConnection()`方法。 3. 编写SQL语句,例如插入或查询数据。 4. 执行SQL,获取结果集。 5. 关闭数据库连接。 在JSP页面中,你可以将FCKeditor作为表单的一部分,通过`...

    VS2010 FCKEdit使用方法

    安装完成后,你会得到一个包含多个文件夹和文件的压缩包,其中包含了所有必要的组件和资源。 ### 2. 引入FCKeditor到项目 在VS2010中,打开你的Web项目,然后在解决方案资源管理器中,将FCKeditor的根目录复制或...

    fckedit 编辑器 实例

    总之,`fckedit编辑器实例`提供了一个简单但实用的FCKeditor应用范例,适合初学者理解和学习如何在实际项目中集成和使用这个强大的富文本编辑器。通过深入研究和实践,你可以进一步掌握其功能和扩展技巧,提升Web...

    fckedit编辑器

    编辑器 FCKeditor2.4 使用说明 ...问题三: 上传时新建的中文目录全部乱码 虽然上传到服务器上的文件名正常,但在JSP页面点下载链接时文件名乱码导致不能正常下载 查找资料:TOMCAT 链接参数有中文时,乱码解决方法 ...

    FCKEdit可以用的

    2. **编辑器功能**:FCKEditor提供了一整套的文本编辑工具,包括字体样式调整、段落格式、列表、链接创建、图片上传、表格操作、颜色选择等。它还支持HTML代码编辑模式,对于熟悉HTML的用户来说非常方便。 3. **...

Global site tag (gtag.js) - Google Analytics