apr*_*l26 3 java regex xhtml jsf facelets
我试图将换行标记
插入到某些文本中并将其显示在网页上.<和>符号正被翻译成<和>,并且标签在网页上显示为文本.
当我从数据库中选择它时,文本看起来像这样(我将它输出到SYSOUT):
version 12.4
service timestamps debug datetime
service timestamps log datetime
service password-encryption
Run Code Online (Sandbox Code Playgroud)
然后我通过这个小过滤器运行它:
public DevConfigs getDevConfig() {
String config = devConfig.getConfig();
Pattern pattern = Pattern.compile(".$", Pattern.MULTILINE | Pattern.DOTALL);
Matcher matcher = pattern.matcher(config);
String newConfig = matcher.replaceAll("<br />");
devConfig.setConfig(newConfig);
return this.devConfig;
}
Run Code Online (Sandbox Code Playgroud)
这是网页(它是使用facelets的Seam应用程序):
<rich:tab label="Config">
hello<br />
there<br />
#{devConfig.config}
</rich:tab>
Run Code Online (Sandbox Code Playgroud)
页面源代码如下:
hello<br />
there<br />
<br />
<br />
version 12.<br />
service timestamps debug datetim<br />
service timestamps log datetim<br />
service password-encryptio<br />
<br />
Run Code Online (Sandbox Code Playgroud)
如您所见,我的标签以HTML字符而非标签形式出现.在每行文本的末尾插入换行符标记需要做什么?
TDR
您需要禁用(默认)HTML转义文本.您可以h:outputText使用escape属性设置为(或与之等效的任何RichFaces)来执行此操作false.
<h:outputText value="#{bean.property}" escape="false" />
Run Code Online (Sandbox Code Playgroud)