我当然熟悉这些java.net.URLEncoder
和java.net.URLDecoder
课程.但是,我只需要HTML风格的编码.(我不想' '
替换'+'
等).我不知道在类中构建的JDK只会进行HTML编码.有吗?我知道其他选择(例如,Jakarta Commons Lang'BtringEscapeUtils',但我不想在我需要它的项目中添加另一个外部依赖项.
我希望在最近的JDK(又名5或6)中添加了一些我不知道的JDK.否则我必须自己动手.
在类中没有内置JDK来实现这一点,但它是Jakarta commons-lang库的一部分.
String escaped = StringEscapeUtils.escapeHtml3(stringToEscape); String escaped = StringEscapeUtils.escapeHtml4(stringToEscape);
查看JavaDoc
添加依赖项通常就像将jar放到某个地方一样简单,而commons-lang有很多有用的实用程序,通常值得将它放在板上.
一个简单的方法似乎就是这个:
public static String encodeHTML(String s) { StringBuffer out = new StringBuffer(); for(int i=0; i127 || c=='"' || c=='<' || c=='>') { out.append(""+(int)c+";"); } else { out.append(c); } } return out.toString(); }
资料来源:http://forums.thedailywtf.com/forums/p/2806/72054.aspx#72054
显然,答案是"不".遗憾的是,在短期内我不得不做一些事情并且不能为它添加新的外部依赖.我同意每个人使用Commons Lang是最好的长期解决方案.一旦我可以向项目中添加新库,我就会这样做.
令人遗憾的是Java API中没有这种常见用途.