2012-07-23 74 views
6

我试图使用富:编辑器内的丰富:popupPanel从数据表更新博客文章。我正在使用RichFaces 4.2.0。如果我在popupPanel外部使用该编辑器标记,则只有在内部时才能正常工作。有没有人有这个问题?丰富:编辑器标签不工作时,嵌套在丰富:弹出式面板在JSF与RichFaces 4.2.0

我的代码是这样的:

<h:form id="form"> 

     <rich:dataTable value="#{managePosts.allBlogPosts}" var="post" id="manage_posts_data_table" 
         styleClass="manage_posts_table" rows="15"> 
      <f:facet name="noData">     
       Nothing found 
      </f:facet> 
      ... 
      <rich:column width="70px"> 
       <h:link outcome="userViewPost.jsf"> 
        <f:param name="post_id" value="#{post.id}" /> 
        <h:graphicImage library="images" name="posts/manage/view.png" /> 
       </h:link>     
       <a4j:commandLink render="editGrid" execute="@this" 
        oncomplete="#{rich:component('editPane')}.show()"> 
        <h:graphicImage library="images" name="posts/manage/update.png" /> 
        <f:setPropertyActionListener target="#{managePosts.editedPost}" value="#{post}" /> 
       </a4j:commandLink> 

      </rich:column>  
     </rich:dataTable> 

     <rich:popupPanel header="#{msg.edit_selected_post}" id="editPane" width="685" height="600" modal="true">      

       <h:outputLabel value="#{msg.title}: " styleClass="form_labels" /> 
       <h:inputText id="update_post_title" value="#{managePosts.editedPost.title}" required="true" 
        requiredMessage="#{msg.empty_field_err}" size="103"> 
        <f:validateLength minimum="6" maximum="128"/> 
       </h:inputText> 

       <h:outputLabel value="" /> 
       <rich:message for="update_post_title" /> 
       <h:outputLabel value="" /> 

       <h:outputLabel value="#{msg.content}: " styleClass="form_labels" /> 
       <rich:editor id="editor" toolbar="custom" skin="kama" required="true" requiredMessage="#{msg.empty_field_err}" 
         value="#{managePosts.editedPost.content}" width="530" height="300"> 
        <f:facet name="config"> 
        toolbar_custom: 
         [ 
          { name: 'document', items : [ 'NewPage','Preview' ] }, 
          { name: 'clip#{managePosts.editedPost.title}board', items : [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] }, 
          { name: 'editing', items : [ 'Find','Replace','-','SelectAll','-','Scayt' ] }, 
          { name: 'insert', items : [ 'Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ] }, '/', 
          { name: 'styles', items : [ 'Styles','Format' ] }, 
          { name: 'basicstyles', items : [ 'Bold','Italic','Strike','-','RemoveFormat' ] }, 
          { name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote' ] }, 
          { name: 'links', items : [ 'Link','Unlink','Anchor' ] }, 
          { name: 'tools', items : [ 'Maximize','-','About' ] } 
         ] 
        </f:facet> 
       </rich:editor> 

       <h:outputLabel value="" /> 
       <rich:message for="editor" /> 
       <h:outputLabel value="" /> 

      <a4j:commandButton value="Cancel" onclick="#{rich:component('editPane')}.hide(); return false;" /> 
     </rich:popupPanel> 

    </h:form> 

预先感谢您!

回答

2

这个Bug是众所周知的。

编辑器不在窗体标签中。

problem

+0

所以它是不可能在弹出窗口中使用它?错误是否解决?谢谢! – 2012-07-29 18:49:39

+0

我想它永远不会解决。有一种解决方法将表单放置在模式面板内部。但要小心不要封装表单。 – 2012-07-30 08:41:53