[JSP+Struts]文本内容的换行显示问题

 1、直接保存,然后当从数据库中取出来时用过滤方法过滤一遍再送回页面即可,给一段代码,看了就明白了,可以自己扩充
public   static  String filter(String value)  {

        
if (value == null)
            
return (null);

        StringBuffer result 
= new StringBuffer();
        
for (int i = 0; i < value.length(); i++{
            
char ch = value.charAt(i);
            
if (ch == '<')
                result.append(
"&lt;");
            
else if (ch == '>')
                result.append(
"&gt;");
            
else if (ch == '&')
                result.append(
"&amp;");
            
else if (ch == '"')
                result.append(
"&quot;");
            
else if (ch == ' ')
                result.append(
"<BR>");
            
else if (ch == ' '{
                
if (i > 0 && value.charAt(i - 1== ' '{

                }
 else {
                    result.append(
"<BR>");
                }

            }
 else if (ch == ' ')
                result.append(
"&nbsp;&nbsp;&nbsp;&nbsp");
            
else if (ch == ' ')
                result.append(
"&nbsp;");
            
else
                result.append(ch);
        }

        
return (result.toString());
    }

2、在action中用replaceAll()把空格回车替换出来,
String content = content.replaceAll(“/r/n“,“<br>“);
String content = content.replaceAll(“  “,“&nbsp;“);
在jsp页面中,如果用<bean:write>则加上filter="false",
<bean:write name="info" property="content" filter="false"/>

3、利用样式表,在显示页面中放置一个“透明”的<textarea>,即边框颜色和文本框颜色都与背景颜色一致的文本框,然后将要显示的内容放置到该文本框中,这样不需要做任何处理,而且绝对和用户输入的格式一模一样,个人认为是最好的方法。当然,千万要记住把这个文本框设置成只读的啊,嘿嘿

PS: 第二种方法很好!推荐!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值