有关用JSTL技术编制动态网页时,数据表MEMO类字段显示的问题(200分)

  • 主题发起人 主题发起人 lotte
  • 开始时间 开始时间
L

lotte

Unregistered / Unconfirmed
GUEST, unregistred user!
JSTL的技术发展到现在,其易用性和规范性得到了各位JSP编程人员的肯定。
我现在正在用JSTL编写公司内部的信息发布网页,由于本人才疏学浅,碰到了以下棘手问题,望高手指教:
1、我用ORACLE和MYSQL做为网页的后台数据库,都存在同样的问题,我把一篇文章
做为一条记录的MEMO字段,放在一数据表中,在网页上查询,并用<c:out value=...../>
将字段中的内容显示出来,但是,无论怎么处理,无论在那段文章有多少回车换行,显示
时都是连在一起的;
2、用<c.out....>无法将HTML解释到网页上去。比如我将一段HTML代码放在一个字符串变
量中,或者放在数据表的字段中查询出来,用<C.OUT>显示,都将HTML语句原封不动地显示
出来,并未解释出来;
以上两个问题,小弟用200分悬赏,请高手给出详细地解决方案,在线等待!谢谢!
 
<c:out value="xxx" escapeXml="false"/>
 
我后来试了一下,要手动将那段字符串中"回车换行"改成<br>,才能显示为换行?
请问如何不要手工一个个改而能自动将显示出换行
 
You must replace all "/n" and "/b/n" to <br> in your program.
 
哈哈,茅塞顿开。不过,如何实现您所说的替换呢?用程序如何写呢,请赐教
 
public static String convertNewlines(String input)
{
input = replace(input, "/r/n", "/n");
input = replace(input, "/n", "<BR />");
return input;
}
public static String replace(String mainString, String oldString, String newString) {
if (mainString == null)
return null;
int i = mainString.lastIndexOf(oldString);
if (i < 0)
return mainString;
StringBuffer mainSb = new StringBuffer(mainString);
while (i >= 0) {
mainSb.replace(i, i + oldString.length(), newString);
i = mainString.lastIndexOf(oldString, i - 1);
}
return mainSb.toString();
}
 
<c:out value="xxx" escapeXml="false"/>
这样就可以了,
哪用那么麻烦。
想不到用JSTL的
DFW还挺多的
 
谢谢LIU_XIAO_BO的回答!
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部