Jsf 2 如何使用fn:replace()将一个双引号替换为两个双引号

Jsf 2 如何使用fn:replace()将一个双引号替换为两个双引号,jsf-2,el,Jsf 2,El,在我的JSF应用程序中,我尝试使用fn:replace()将“替换为” <h:outputText value="#{fn:replace(str, '\"', '\"\"')}" /> 的确,这很糟糕。“在XML中有特殊处理。它表示属性值的开始和结束。最好是借助将其参数化为另一个变量 这不是基于正则表达式的替换。这只是基于角色的替换。这与您使用的是String#replace()方法完全相同,而不是replaceAll()方法。请不要混淆它们。我从你的问题中删除了对regex的错

在我的JSF应用程序中,我尝试使用
fn:replace()
替换为

<h:outputText value="#{fn:replace(str, '\"', '\"\"')}" />

的确,这很糟糕。
在XML中有特殊处理。它表示属性值的开始和结束。最好是借助
将其参数化为另一个变量


这不是基于正则表达式的替换。这只是基于角色的替换。这与您使用的是
String#replace()
方法完全相同,而不是
replaceAll()
方法。请不要混淆它们。我从你的问题中删除了对regex的错误引用。
<h:outputText value="#{fn:replace(str, 'a', 'b')}" />
<c:set var="doublequote" value='"' />
<c:set var="twodoublequotes" value='""' />
<h:outputText value="#{fn:replace(bean.string, doublequote, twodoublequotes)}" />