jsp中怎么样可以对输入的字符进行html编码,把<>等特殊字符解析 先去apache下一个commons-lang包然后建一个hasmap,把特殊字符与他的实体建立关系。写一个利用lang中的replacesubsitute把实体替换特殊字符就行了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 天呀,这么复杂,没有php,asp那样简单的一个函数么? strText=strText.replaceAll("<","<");strText=strText.replaceAll(">",">");strText=strText.replaceAll("\"",""");…………或者用iterate标签,自动转换。 iterate标签是什么东西?小弟不懂 晕,错了,是bean:write 标签 本身在jsp中的语法就有对这些特殊符号的替代呀!("<","<");(">",">");("\"",""");等 呵呵,高手! 那用replaceAll替换要替换多少字符,除了“<>/”,还有什么需要替换的? 呵呵,这个就多了,你可以打开dreamweaver 对照着看看,通常比较主要的就是<>“”回车 空格 参考:http://expert.csdn.net/Expert/topic/3061/3061835.xml?temp=.9889185这里有一个,不过要用到apache的lang包下载地址:http://www.apache.org/dist/jakarta/commons/lang/import org.apache.commons.lang.StringUtils;import java.util.*;public class HTMLHelper { /** 忽略了ISO Latin-1 特殊字符以及  半个空白位 和  一个空白位 加入了"\" < < 小于号或显示标记 > > 大于号或显示标记 & & 可用于显示其它特殊字符 " " 引号 ® \u00AE 已注册 © \u00A9 版权 ™ \u2122 商标 不断行的空白 */ public final static HashMap specialCharSet = new HashMap(); static { specialCharSet.put("<","<"); specialCharSet.put(">",">"); specialCharSet.put("&","&"); specialCharSet.put("\"","""); specialCharSet.put("\u00AE","®"); specialCharSet.put("\u00A9","©"); specialCharSet.put("\u2122","™"); specialCharSet.put(" "," "); } /** * 替换所有的HTML字符(主要为javascript所用) * @param s * @return */ public static String substitute(String s){ s=s.trim(); for(Iterator i = specialCharSet.keySet().iterator();i.hasNext();){ String repl=(String)i.next(); String with=(String)specialCharSet.get(repl); s=StringUtils.replace(s,repl,with); } return s; } public static void main(String[] args) { System.out.println(substitute("\\tzzf\\\u00AE\u00A9\u2122\"&<>ddd ")); }} 真的太感谢各位大哥了,还是决定用字符替换的简单方法,只是遗憾java毕竟没有php,asp那么处理方便 可惜只有20分奉送,见谅,本人在上海,有空msn聊,我的号码是:[email protected] HighCharts导出中文是乱码 纯手写AJAX eclipse+myeclipse+tomcat 问这个实在是弱,可是这到底是怎么回事呢>_< 老问题了,但是一直没有解决:在servlet中,有什么语句让转入的页面脱离框架,显示在整个页面~ 我web报异常:ServletException in '': Response already committed. 大家帮我看看我这个bean哪里有问题 hibernate的自身跟自身many-to-many 乱吗问题 JScrollPane的滚动条怎么不出现 Weblogic+struts取物理路径的问题 请教:JSP中如何删除数据库表中的信息
strText=strText.replaceAll(">",">");
strText=strText.replaceAll("\"",""");
…………
或者用iterate标签,自动转换。
("<","<");(">",">");("\"",""");等
http://expert.csdn.net/Expert/topic/3061/3061835.xml?temp=.9889185
这里有一个,不过要用到apache的lang包
下载地址:
http://www.apache.org/dist/jakarta/commons/lang/import org.apache.commons.lang.StringUtils;
import java.util.*;
public class HTMLHelper {
/**
忽略了ISO Latin-1 特殊字符以及
 半个空白位
和  一个空白位 加入了"\" < < 小于号或显示标记
> > 大于号或显示标记
& & 可用于显示其它特殊字符
" " 引号
® \u00AE 已注册
© \u00A9 版权
™ \u2122 商标
不断行的空白
*/
public final static HashMap specialCharSet = new HashMap();
static {
specialCharSet.put("<","<");
specialCharSet.put(">",">");
specialCharSet.put("&","&");
specialCharSet.put("\"",""");
specialCharSet.put("\u00AE","®");
specialCharSet.put("\u00A9","©");
specialCharSet.put("\u2122","™");
specialCharSet.put(" "," ");
} /**
* 替换所有的HTML字符(主要为javascript所用)
* @param s
* @return
*/
public static String substitute(String s){
s=s.trim();
for(Iterator i = specialCharSet.keySet().iterator();i.hasNext();){
String repl=(String)i.next();
String with=(String)specialCharSet.get(repl);
s=StringUtils.replace(s,repl,with);
}
return s;
}
public static void main(String[] args) {
System.out.println(substitute("\\tzzf\\\u00AE\u00A9\u2122\"&<>ddd "));
}
}