当前位置: 首页 > 面试题库 >

JSF,validateRegex和&(与号)

周越泽
2023-03-14
问题内容

我想测试inputText字段,以查看其内容是否至少匹配一个&(与号)。

当我测试&\&\\&validateRegex的内侧的图案场,我总是收到此错误:

javax.faces.view.facelets.FaceletException:错误解析/index.xhtml:错误跟踪[行:71]对标识进行永久性识别的“&”示例实体。

我得到500错误…

我怎样才能逃脱这个角色?

更新资料

我测试过

<p:inputText id="player_name_register" value="#{login.name}">
    <f:validateRegex pattern="[&amp;]{3, 50}" />
</p:inputText>

但是当我测试&&&&&&它不起作用时。

我也测试过

<![CDATA[
    <p:inputText id="player_name_register" value="#{login.name}">
        <f:validateRegex pattern="[&amp;]{3, 50}" />
    </p:inputText>
]]>

但我的inputText不再出现。


问题答案:

Facelets是一种基于XML的视图技术。整个视图必须是语法上有效的XML。XML特殊字符像&<并且>需要被转义为&amp;&lt;并且&gt;当他们应该被解释为,是。

<f:validateRegex pattern="...&amp;..." />

(在这里,...代表您的正则表达式的其余部分)

CDATA块将不起作用,因为它基本上会转义包括JSF组件在内的整个内容。引用转义的XML字符没有任何意义。在经过Facelets
XML解析器解析后,再次&amp;变为&

更新 按照您的更新,在空间{3, 50}造成的正则表达式语法错误。去掉它。

<p:inputText id="player_name_register" value="#{login.name}">
    <f:validateRegex pattern="[&amp;]{3,50}" />
</p:inputText>

在JSF组件周围使用CDATA块根本不是正确的解决方案。它将对所有内容进行XML转义,从而&lt;p:inputText&gt;发出纯净的香草味,而不是组件的HTML表示形式。



 类似资料:
  • 我正在尝试在我的JSF应用程序中使用无扩展URL。。。 我已经在使用:https://showcase.omnifaces.org/facesviews/ExtensionlessURLs这很好,但是如果我有一个带有参数的URL,它仍然带有: mypage.jsf?myparameter=12345 这里也有排除的可能性吗。jsf,因此URL将是: 我的页面?参数设置 我知道也有Prettyfac

  • 我曾在JSF1.2、RichFaces和HibernateORM中工作过。我想问,如果我将我的项目转换成JSF2.0和prime faces,它会发生什么变化。转向JSF2.0的原因是什么?这是一个原始的问题,但我想从专家那里了解一下为什么会从JSF1.2转换到JSF2.0的主要原因。谢谢

  • 问题内容: 我想在我的项目中同时使用highcharts和jsf。我有一个ManagedBean,它有一个列表,它是通过Facade初始化的(它在我的数据库中进行查询)。如果我想将列表的值传递给highcharts,该怎么办?如果有人有个好主意,请分享。 最好的问候,非常感谢 问题答案: 尚未使用highcharts,但我使用其他图表库… 我将向您提供有关如何将基于js的图表目录与JSF结合的一般

  • 问题内容: 我有一个主要使用Richfaces的JSF应用程序。我想介绍一个功能更丰富的网格控件,例如基于jQuery的jqgrid。是否可以从JSF支持bean获得JSON数据?如果没有,是否有替代方法? 问题答案: 这里可能有几个选择。 Bean方法可以返回一个字符串,它只是一个JSON字符串 您可以使用JsonLib将Java对象转换为Json。 使用其他Servlet服务网格请求 我将推荐

  • 我试图从jsf启动激活引擎 引擎总是以null返回,我读到activiti.cfg.xml文件应该在类路径中,我已经把文件放在web-inf/class下,但是引擎仍然返回null,这意味着激活不能初始化引擎,有什么想法吗?

  • 我在JBoss EAP 6上使用Java EE 6,我的JSF bean注释如下:(都来自包) 但是,它们也是CDI bean(默认构造函数,使用、等)。我一直读到不能混合这些注释(JSF和CDI),但它显然工作得很好:注入工作正常,视图更改时调用preDestroy等)。 我是不是漏掉了什么?问题出在哪里?为什么不用呢?