使用PrimeFaces,当p:selectOneMenu的itemLabel内容包含字符双引号(")时,selectOneMenu停止工作(无法选择该项)。例如,在以下代码中无法选择:项"2“
是否有一种方法可以转义或替换整个应用程序中每个selectOneMenu中的双引号?
也许使用标记装饰器或标记处理程序?
@Named(value = "bb")
@ViewScoped
@Getter @Setter
public class BB implements Serializable {
List<String> items;
String selectedItem;
@PostConstruct
public void init() {
items = new ArrayList<>();
items.add("Item 1");
items.add("Item \"2\""); // <= note the double quotes here.
items.add("Item 3");
}
public void logSelected() {
System.out.println(selectedItem);
}
} <h:form>
<p:selectOneMenu value="#{bb.selectedItem}">
<f:selectItems value="#{bb.items}"/>
</p:selectOneMenu>
<p:commandButton action="#{bb.logSelected}"
process="@form"
update="@form"
value="GO"/>
</h:form>当我试图点击'Item“2‘时,控制台日志上显示以下错误:
Uncaught Error: Syntax error, unrecognized expression: [data-label="Item "2""]
at Function.ga.error (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:2)
at ga.tokenize (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:2)
at ga.compile (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:2)
at ga.select (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:2)
at ga (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:2)
at Function.ga.matches (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:2)
at Function.r.filter (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:2)
at E (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:2)
at r.fn.init.filter (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:2)
at c.setLabel (eNptjUsOgzAMRE9E2XMbEwwkcmxjJ6qQenh-i6qF1UhvnmbUYsYRAnqXloq2tle8kn_02wUxvKGswsjF_4qfnUapTpFPp1KJGRqCVWrpkrcMLB5MiNAeBX9HPX9n8HmAAgecSHqgnW7lbUr_.js.xhtml?ln=omnifaces.combined&v=1558274343370:38)发布于 2019-05-31 19:02:11
已在PrimeFaces 7.0中验证为已修复。
但是,它也可能在6.2.X中得到修复,具体取决于所应用的修复。
https://stackoverflow.com/questions/56367851
复制相似问题