一般情况下,我们都会替换用户输入的特殊字符,比如 & < > " ' 等等我使用以下方法
public static String revertString(String input) {
// 使失去用处的标签从新有作用
if (input == null) {
input = "";
return input;
}
input = input.trim().replaceAll("&", "&");
input = input.trim().replaceAll("<", "<");
input = input.trim().replaceAll(">", ">");
input = input.trim().replaceAll(" ", "\t");
input = input.trim().replaceAll("\n", "\r\n");
input = input.trim().replaceAll("<br>", "\n");
input = input.trim().replaceAll(" ", " ");
input = input.trim().replaceAll(""", "\"");
input = input.trim().replaceAll("'", "'");
input = input.trim().replaceAll("\", "\\\\");
return input;
}用户在input 中输入特殊字符 " (双引号)保存,双引号被替换为 & 用户编辑 源码为 <input type="text" value="&" />问题就在这里,这个填被提交到服务器后, 又通过上面的方法替换字符串结果:变成 <input type="text" value="&amp;" /> 意思就是 & 被转成了 &我想知道你们是怎样解决这个问题的,先说声谢谢了
public static String revertString(String input) {
// 使失去用处的标签从新有作用
if (input == null) {
input = "";
return input;
}
input = input.trim().replaceAll("&", "&");
input = input.trim().replaceAll("<", "<");
input = input.trim().replaceAll(">", ">");
input = input.trim().replaceAll(" ", "\t");
input = input.trim().replaceAll("\n", "\r\n");
input = input.trim().replaceAll("<br>", "\n");
input = input.trim().replaceAll(" ", " ");
input = input.trim().replaceAll(""", "\"");
input = input.trim().replaceAll("'", "'");
input = input.trim().replaceAll("\", "\\\\");
return input;
}用户在input 中输入特殊字符 " (双引号)保存,双引号被替换为 & 用户编辑 源码为 <input type="text" value="&" />问题就在这里,这个填被提交到服务器后, 又通过上面的方法替换字符串结果:变成 <input type="text" value="&amp;" /> 意思就是 & 被转成了 &我想知道你们是怎样解决这个问题的,先说声谢谢了
解决方案 »
- eclipse lomboz有关配置tomcat7.0
- jsp中如何实现按下一个按钮后执行一条sql语句
- 如何防止浏览器右键返回问题?
- 去阿里吧吧应聘也不知道有什么条件
- 多域名之前传递会话问题?
- 要求写一个适用于Oracle,SQL,mySQL的通用分页类,请教思路,望达人多多指点~
- A.class调用b,c,d.class中的函数,b,c,d都编译成功,编译A时提示找不到..
- csdn 论坛左侧的目录树如何实现检索的?
- MD5验证
- 问个TOMCAT的问题:如何做到JSP文件即改即用?(现在我的有点延迟)
- java 读FTP上的图片
- <text src="cid:12791734552460.txt" />,彩信
2.只要将<和>转化成<和>了就行了。
等从数据库读取的时候,这时候就需要判断,你是直接显示在页面上?还是显示在html的控件中。
如果直接显示在页面上,无须转化,比如输入的是<input/>显示的还是<input/>。但是如果显示在控件中。 我们需要把<和>给转回来。要不文本框中就会显示<input/>
2.<input value="<input/>" /> 这里如里不转化的话,不会显示成<input/>的,会显成 <input>感谢你的回答啊