我正在尝试开发这样的东西:
在托管bean中,有一些字符串属性是以有效的HTML方式编写的,例如:
String script = "alert("hello!!!!!");";
Stringdiv = "Hello!"
这些字段的目的是动态地将html组件放到.xhtml文件中。但是如果这些字段是正常访问的,那么它们似乎只是作为文本添加到页面上。我有办法实现这些吗?
此外,由于这些字段的实际内容可能相当复杂,并且设计是动态的,因此仅将组件放在.xhtml中不是一个选项。
可以同时使用<h:outputText>
和escape="false"
。这样生成的东西将是html代码,而不仅仅是一些文本。
。,设myBean
为托管bean,代码为
String div = "<div>Hello World</div>";
在你的.xhtml
中,你应该写,
<h:outputText value="#{myBean.div}" escape="false" />
这将导致<div>Hello World</div>
作为html代码的一部分被注入,换句话说,<div>
标签将被识别。
类似的事情也可以模拟为javaScript代码,例如
String scriptCode = "<script>function alertHello(){alert('Hello World')}</script>";
在你的.xhtml
中,你会写,
<h:outputText value="#{myBean.scriptCode}" escape="false" />