CDATA в частичном ответе закрывается после начала кодирования пользовательского компонента - PullRequest
0 голосов
/ 08 февраля 2012

У меня есть пользовательский компонент:

<g:get name="conf_temporadas" anchorid="nombre" defaulttext="nombre" customer="9999" nohtml="true" />

, который просто получает простой текст из базы данных на основе атрибутов и отпечатков.

Когда я обновляю элемент, содержащий этот компонент, XML-код неверен, поскольку CDATA XML закрывается после печати <g:get>.

<p:outputPanel id="noticePanel">
  <div class="wrapbox notice"> 
    <a href="#Cerrar" title="Cerrar" class="close">    
      <g:get name="form_common" anchorid="cerrar" defaulttext="Cerrar" customer="9999" nohtml="true"/>
    </a>
    <p><h:outputText  value="#{Notice.noticeMessage}" id="notice" escape="false"></h:outputText></p>
    #{Notice.clearNotice}
  </div>
</p:outputPanel>

Когда я обновляю <p:outputPanel>, ошибка:

Ошибка de lectura XML: etiqueta sin pareja. Se esperaba: </update>. Ubicación: moz-nullprincipal: {8fefe5c1-e8c7-4342-837a-3b4bae9dfc19} Número de línea 2, columna 116: <span id="i_notice:j_id_b">Cerrar]]> </span></a>

Как видите, после "Cerrar" CDATA закрывается. Как это вызвано и как я могу решить это?

1 Ответ

0 голосов
/ 09 февраля 2012

Решение в пользовательском компоненте ResponseWriter метода кодирования, я вызываю ResponseWriter#close, и в этот момент CDATA получает ЗАКРЫТЬ]].

Я просто удаляю ResponseWriter#close, и все работаеткак очарование

Спасибо вам всем, за ваши ответы, BalusC, вы показываете мне путь.

...