Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个标准的JSF方式或开源库允许输出转义文本,但带有html格式?_Jsf_Text_Formatting_Escaping_Xss - Fatal编程技术网

是否有一个标准的JSF方式或开源库允许输出转义文本,但带有html格式?

是否有一个标准的JSF方式或开源库允许输出转义文本,但带有html格式?,jsf,text,formatting,escaping,xss,Jsf,Text,Formatting,Escaping,Xss,我们有一个用例,需要从数据库中输出静态文本和动态值的组合文本,使用消息属性和特定语言的静态文本块解析全文 我们需要转义输出文本以防止XSS攻击 但是,我们还需要对完整字符串应用格式,例如: 你好{username} 这当然是一种伪语法,{username}是一个要用真实用户名替换的变量,另一个文本是静态的,并在消息属性中定义(例如:“Helloy{0}!”) 普通的JSF输出文本将无法工作,因为它要么转义所有内容,要么什么也不转义,从而破坏我们的格式 注意,由于变量字段的位置和顺序依赖于语言(例

我们有一个用例,需要从数据库中输出静态文本和动态值的组合文本,使用消息属性和特定语言的静态文本块解析全文

我们需要转义输出文本以防止XSS攻击

但是,我们还需要对完整字符串应用格式,例如:

你好{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>