Java 显示换行符<;部门>;来自数据库的标记
我必须在Java 显示换行符<;部门>;来自数据库的标记,java,jquery,database,line-breaks,Java,Jquery,Database,Line Breaks,我必须在标记中显示来自数据库的文章。本文是从textarea插入数据库的。我的问题是:我无法准确显示从textarea插入的结构(包括换行符) 我尝试使用下面的代码将enter字符替换为标记,但无效 <div id="tmpId">${f:h(dto.accPassage)}</div> <script> $(function(){ $('#tmpId').html($('#tmpId').html().replace(/\n/g,
标记中显示来自数据库的文章。本文是从textarea插入数据库的。我的问题是:我无法准确显示从textarea插入的结构(包括换行符)
我尝试使用下面的代码将enter字符替换为
标记,但无效
这将保留所附文本块中的精确格式。不带结束斜杠给出
希望这有帮助 因为您使用的是java,所以在从数据库检索数据之后,您可以编写如下内容来替换新行
;”;,它会像符咒一样起作用
标记,但无效
<div id="tmpId">${f:h(dto.accPassage)}</div>
<script>
$(function(){
$('#tmpId').html($('#tmpId').html().replace(/\n/g, '<br />'));
})
</script>
${f:h(dto.accpassession)}
$(函数(){
$('#tmpId').html($('#tmpId').html().replace(/\n/g,
'));
})
我想知道是否有人能给我一些提示来解决这个问题
非常感谢。如果您希望它与数据库中的完全相同,那么只需在
标记中渲染它,而不是在
中
<pre id="tmpId">${f:h(dto.accPassage)}</pre>
${f:h(dto.accpassession)}
这将保留所附文本块中的精确格式。不带结束斜杠给出
。既然您是从数据库中检索数据,为什么它是客户端的,而不是从数据库中检索数据后立即进行替换?不确定您使用的是什么(尽管这与此无关,因为这可以在任何语言中完成),但在PHP中,假设$output
是您的DB结果,它将与
public static String nl2br(String s) {
return s.replaceAll("\n","<br/>");
}
// usage
nl2br("some\ntext"); //will return "some<br/>text"
希望这有帮助 因为您使用的是java,所以在从数据库检索数据之后,您可以编写如下内容来替换新行
公共静态字符串nl2br(字符串s){
返回s.replaceAll(“\n”和“
”);
}
//用法
nl2br(“某些文本”)//将返回“一些
文本”
使用css正确渲染/n:
你好!下一行,下一行。
就你而言
${f:h(dto.accpassession)}
您应该将用于从数据库中获取它的语言放在标记中。如果他使用的是XHTML DOCTYPE
将无法验证。出于这个原因,PHP具有nl2br()
函数。@FreekOne:他在使用PHP吗?O.oI向FreekOne致辞,FreekOne给出了一个解决方案,如果语言是PHP。+1同意Robert的说法,我已经更新了我的答案。完全忘记了:)@David:我也不知道,我只是想证明一下概念。谢谢mmhan,我尝试了你的方法,但没有成功。但是,如果我使用returns.replaceAll(System.getProperty(“line.separator”),“;”;,它会像符咒一样起作用
public static String nl2br(String s) {
return s.replaceAll("\n","<br/>");
}
// usage
nl2br("some\ntext"); //will return "some<br/>text"