JSF/primefaces处理ajax请求中的控制字符(表单提要十六进制:0x0c)?

JSF/primefaces处理ajax请求中的控制字符(表单提要十六进制:0x0c)?,primefaces,escaping,jsf-2.2,Primefaces,Escaping,Jsf 2.2,我很好奇在JSF/primefaces中使用ajax请求时遇到的一个边缘案例 我发现,如果我在通过ajax处理的请求中输入一个表单提要字符(“java中的/f”或十六进制中的0x0C),就会导致ajax请求失败,因为生成的xml被认为是无效的。我只希望当用户从另一个文档复制和粘贴某个恰好包含此字符的内容时,或者更有可能是QA人员(或恶意用户)输入此字符以破坏我的一天时,才会出现这种情况 我在chrome开发者工具中看到的确切响应: <partial-responseid="j_id1"&g

我很好奇在JSF/primefaces中使用ajax请求时遇到的一个边缘案例

我发现,如果我在通过ajax处理的请求中输入一个表单提要字符(“java中的/f”或十六进制中的0x0C),就会导致ajax请求失败,因为生成的xml被认为是无效的。我只希望当用户从另一个文档复制和粘贴某个恰好包含此字符的内容时,或者更有可能是QA人员(或恶意用户)输入此字符以破坏我的一天时,才会出现这种情况

我在chrome开发者工具中看到的确切响应:

<partial-responseid="j_id1">
  <parsererror>
    <h3>This page contains the following errors:</h3>
    <div>
      error on line 2 at column 68: Input is not proper UTF-8, indicate encoding !
      Bytes: 0x0C 0x20 0x63 0x61
    </div>
  <h3>Below is a rendering of the page up to the first error.</h3>
  </parsererror>
  <changes>
    <update id="j_idt5"/>
  </changes>
</partial-response>

此页面包含以下错误:
第68列第2行错误:输入不正确UTF-8,请指示编码!
字节:0x0C 0x20 0x63 0x61
下面是第一个错误之前的页面呈现。


XML中似乎有一个限制,即这个字符不能包含在XML1.0中,所以JSF/primefaces可以做些什么来避免这种情况,还是我对框架的要求太高了?如果我不能让JSF/primefaces优雅地处理这个问题,我如何才能生成正确的错误页面,并将问题记录在用户控制台之外的其他地方?

我认为这是一个错误,并在此处报告:

一旦这个问题得到解决,我将立即汇报

更新:结果是莫哈拉问题:

让我调查一下,然后再给你回复。我们已经在PrimeFaces中做了很多适当的转义来处理角色,我想知道这个例子是一个失败的例子还是一个真正的问题。我会报告的。我已经确认了你在PF 6.2上的错误。看起来这是一个JSF/Mojarra错误。我在下面更新了我的评论。根据你在这里提供的两个问题,Mojarra似乎没有解决。我错过了什么吗?它不是固定在莫哈拉,而是固定在我的脸上。MojaraDev在从Oracle向Eclipse所有权过渡的过程中放慢了一段时间。