1分6合

核心企业

CORE ENTERPRISE
当前位置:网站1分6合>软件开发 > 正文内容

JSP页面中textarea显示大数据并换行显示

 

问题描述:

输入页面中有一个<html:textarea />     用户输入的内容,可能回含有回车换行,
保存到数据库之后,查看内容回车换行的部分,数据库存的是/n   

另一个显示结果页面我用<bean:write />显示,  但是回车换行却显示不出来,    然
后我在<bean:write />中加入filter="false" 如:<bean:write filter="false"/>,
回车换行的效果还是没有出来,后来我直接将数据库这个字段的内容中/n  改为<br/>
这样用<bean:write filter="false"/>才能够显示出换行的效果,  这样问题就来了,
<html:textarea />中内容的换行是/n   而<bean:write />中换行的内容却是<br/>
没有办法达到统一,  挺郁闷的,

解决方案1,从数据库查出来的字段先把其中的/n 转换成<br/>  然后再在页面上用
<bean:write />显示,     但是这样做好像挺累的, 不太理想。

 

最佳答案:

使用<pre></pre>标签可以格式化内容输出,但是有一个前提,需要页面的布局使用
<DIV />而不是<Table />,且要求将<DIV />的内容通过样式控制为强制换行,在这种
环境下,<pre />可以完全胜任大文本内容的格式化输出。

 

还有另一种方法,就是通过<textarea />来输出,目前我们在江苏中行最后就是采用这
种方式来输出大文本内容,然后在页面的最后端使用JavaScript来读取大文本内容的真
实高度,再次调整<textarea />的高度,完成页面中大文本内容的输出。

 

在这里列出我们所使用的样式及脚本方法,希望对你有所帮助。

 

/*输出大文本内容的<textarea />使用的样式*/

#detail  {width: 100%; overflow: hidden; border: 0px; line-height: 18px}

 

/*自动调整输出大文本内容的<textarea />的高度*/

/*可以在页面中使用util.tools.resize()或者util.tools.resize(id)这样的方法*/

<script type="text/javascript">

     if (!util) var util = {};

     util.tools = {

resize: function(id) {

    var name = id || "detail";

&nbsp;   var objs = document.getElementsByName(name);

&nbsp;   for (var i=0; i<objs.length; i++) {

        window.setTimeout("qm.common.nothing("+ objs[i].scrollHeight +")",
100);

   &nbsp;    objs[i].style.height = objs[i].scrollHeight;

    }

},

 nothing: function(height) {},

     }

</script>

彩88-1分6合 大发11选5-1分6合 腾讯三分彩-1分6合 彩乐园-1分6合 彩天下-1分6合 万家彩票-1分6合 快彩网-1分6合