是否有一个标准的JSF方式或开源库允许输出转义文本,但带有html格式?
我们有一个用例,需要从数据库中输出静态文本和动态值的组合文本,使用消息属性和特定语言的静态文本块解析全文 我们需要转义输出文本以防止XSS攻击 但是,我们还需要对完整字符串应用格式,例如:是否有一个标准的JSF方式或开源库允许输出转义文本,但带有html格式?,jsf,text,formatting,escaping,xss,Jsf,Text,Formatting,Escaping,Xss,我们有一个用例,需要从数据库中输出静态文本和动态值的组合文本,使用消息属性和特定语言的静态文本块解析全文 我们需要转义输出文本以防止XSS攻击 但是,我们还需要对完整字符串应用格式,例如: 你好{username} 这当然是一种伪语法,{username}是一个要用真实用户名替换的变量,另一个文本是静态的,并在消息属性中定义(例如:“Helloy{0}!”) 普通的JSF输出文本将无法工作,因为它要么转义所有内容,要么什么也不转义,从而破坏我们的格式 注意,由于变量字段的位置和顺序依赖于语言(例
你好{username}代码>
这当然是一种伪语法,{username}
是一个要用真实用户名替换的变量,另一个文本是静态的,并在消息属性中定义(例如:“Helloy{0}!”
)
普通的JSF输出文本将无法工作,因为它要么转义所有内容,要么什么也不转义,从而破坏我们的格式
注意,由于变量字段的位置和顺序依赖于语言(例如德语和英语中的词序不同),因此我们也无法从这些片段中生成“真正的”JSF组件
Seam有一个名为的组件来处理这个问题,并且有一个优雅的解决方案。然而,我们不(也不能)在我们的应用程序中使用Seam
是否有类似的方法/库?只需在输出参数上应用JSTL即可
<h:outputFormat value="#{text['generic.welcome']}" escape="false">
<f:param value="#{fn:escapeXml(user.name)}" />
</h:outputFormat>