请问高手,在JSP中,有替代replace()的函数吗?

trybestying 2003-10-09 05:39:08
请问高手,在JSP中,有替代replace()的函数吗?情况是这样的:
我往ORACLE的新闻表(NEWS)中插入新记录时,如果输入框中浏览者输入的内容中有符号'的话,插入命令就无法执行,如果在执行插入命令前把符号'替换成'' ?只有这样的话,插入命令才能正确执行。
请各位高手帮忙!谢谢了。
...全文
201 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Interliu 2003-11-20
  • 打赏
  • 举报
回复
up
kaibinsj 2003-10-09
  • 打赏
  • 举报
回复
这个自己随便写个函数就可以啊,这里有两个,随便挑一个都行
//替换特殊字符
public String repChar(String getChar){
StringBuffer bu = new StringBuffer(getChar);
int i=0;
while((i = bu.toString().indexOf("'", i)) > -1) {
bu.insert(i, "'");
i += 2;
}

return bu.toString();
}

public String escapeHTMLTags(String input){
StringBuffer buf = new StringBuffer(input);
char ch=' ';
for(int i=0;i<input.length();i++){
ch = input.charAt(i);
if(ch == '\''){
buf.append("''");
}else{
buf.append(ch);
}
}
return buf.toString();
}
PengHanxin 2003-10-09
  • 打赏
  • 举报
回复
应该是s= s.replace("\'","\"");
trybestying 2003-10-09
  • 打赏
  • 举报
回复
to: tanndy(ben.yu)
如果我把replace函数,写到提交表单的验证函数里,岂不更好?我明天试一试,谢谢你,明天一定给你加分,再次表示感谢!
tanndy 2003-10-09
  • 打赏
  • 举报
回复
上面是我随手写的,有写很显眼的错误自己改一下啊。不过绝对可以替换所有的,下面我写了一个JAVA程序,已调试成功。

public class test
{
public static void main(String arg[])
{
String s="fkds\'jgkf\'djgdsklgs";

s= replace(s,"\'","\"");
System.out.println(s);
}

public static String replace(String allstr,String replstr1,String replstr2)
{
while(allstr.indexOf(replstr1)!=-1)
allstr=allstr.substring(0,allstr.indexOf(replstr1))+replstr2+allstr.substring(allstr.indexOf(replstr1)+replstr1.length());
return allstr;
}


}
trybestying 2003-10-09
  • 打赏
  • 举报
回复
to: tanndy(ben.yu)
很谢谢你,你写的这个replace函数,如果输入的内容中有一个'的话,是可以替换掉的,如果有二个,或多个且不连续的话,是不能替换掉的,对吗?另外,String a="dsadksad'lsad";
a= replace(a,\' ,\");;这两句,即调用该函数时,抱错,错误信息如下:
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: -1 in the jsp file: null

Generated servlet error:
[javac] Since fork is true, ignoring compiler setting.
[javac] Compiling 1 source file
[javac] Since fork is true, ignoring compiler setting.
[javac] C:\jakarta-tomcat-4.1.24\work\Standalone\localhost\examples\jsp\news\test_jsp.java:50: ';' expected
[javac] String replace(String allstr,String replstr1,String replstr2)
[javac] ^
[javac] 1 error


....................
tanndy 2003-10-09
  • 打赏
  • 举报
回复
<%!
String replace(String allstr,String replstr1,String replstr2)
{
while(allstr.indexOf(replstr1)!=-1) allstr=allstr.substring(0,allstr.indexOf(replstr1))+replstr2+allstr.substring(allstr.indexOf(replstr1)+replstr1.length());
return allstr;
}
%>

String a="dsadksad'lsad";
a= replace(a,\' ,\");;
EricDu 2003-10-09
  • 打赏
  • 举报
回复
就是你往数据库中插入记录之前,先replace一下,将'替换成'',在将字符串插入数据库
trybestying 2003-10-09
  • 打赏
  • 举报
回复
能说的具体一些吗?分不够,可以再加!拜托了,我再线等侯!
叶子哟 2003-10-09
  • 打赏
  • 举报
回复
blue999star 2003-10-09
  • 打赏
  • 举报
回复
有replace()函数
写一个Filter类,把输入的内容过滤一下再往数据库中插。
tanndy 2003-10-09
  • 打赏
  • 举报
回复
没有
用JAVA方法写一个函数,然后在JSP中调用,或者直接再JSP中用JAVA的replace()方法。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧