站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题关于表单里复制的文本不能提交的问题,,急,急。急。急!!

关于表单里复制的文本不能提交的问题,,急,急。急。急!!

摘要: 关于表单里复制的文本不能提交的问题,,急,急。急。急!!


我在作一个用表单提交东西的系统时,,在文本框里直接输入文字后提交可以提交上,,但是我从word里(或网页中)复制一些文本过来的时候就提交不上,或者提交上后显示不了,,这是什么原因??
请大虾们帮忙!!!!!!!!!!!!!!!!!


是不是没有对<等特殊标签进行转义。




怎么转义阿,,大哥,,帮帮忙把代码写一些把


public static final String escapeHTMLTags( String input ) {
//Check if the string is null or zero length -- if so, return
//what was sent in.
if( input == null || input.length() == 0 ) {
return input;
}
//Use a StringBuffer in lieu of String concatenation -- it is
//much more efficient this way.
StringBuffer buf = new StringBuffer(input.length());
char ch = ' ';
for( int i=0; i<input.length(); i++ ) {
if( ch == '<' ) {
buf.append("&lt;");
}
else if( ch == '>' ) {
buf.append("&gt;");
}
else {
buf.append( ch );
}
}
return buf.toString();
}


大哥,我试过了,,怎么还是不行阿,,,我用上面的方法得到了转义后的文本,而且能打印出来,,可是就是不能往数据库里插入,,为什么阿,,我快绝望了,,,,,,救救我阿,兄弟姐妹们..


请把异常信息贴出来。。。


没有显示异常,我是从sqlserver里直接看的,,没有提交的信息,,,,
但是我执行的程序没有报错,,
程序如下:
这是接收表单的jsp文件.....,,,,
<%@ page language="java"%>
<%@ page contentType = "text/html; charset=GB2312" errorPage = "../index.jsp"%>
<%@ page import="java.sql.*"%>




<%try{
get.conn();
long id=getTime.second();
String workid=request.getParameter("workid");
//out.println(workid);
//String title = new String(request.getParameter("title"));
String authorid = (String)session.getAttribute("id");
String author2 = new String(request.getParameter("author").getBytes("ISO8859_1"));
String author=check.escapeHTMLTags(author2);
String atime = getTime.date();
String type = new String(request.getParameter("type").getBytes("ISO8859_1"));
String content = new String(request.getParameter("content").getBytes("ISO8859_1"));
//String content=check.escapeHTMLTags(content2);
//out.println(content);
String insert ="insert into article(id,authorid,author,atime,type,content,workid) values('"+id+"','"+authorid+"','"+author+"','"+atime+"','"+type+"','"+content+"','"+workid+"')";
get.query(insert);
}
catch(Exception e)
{
out.print(e.getMessage());
}

get.goodbye();

%>

Operated Successfully!BACK



,,请继续顶阿大虾们..........



为什么没人顶了呢,,,,吾悲乎.........


String insert ="insert into article(id,authorid,author,atime,type,content,workid) values('"+id+"','"+authorid+"','"+author+"','"+atime+"','"+type+"','"+content+"','"+workid+"')";
get.query(insert);

你把这里更改成用PreparedStatement吧,这里的代码很“那个”哦~~

如果我的那个字段里面含有",",呵呵~~~就有问题。

另外这样的代码本身安全上就有问题。google “sql inject"

ps:get.conn(); get.goodbye();这样的代码自娱自乐挺有意思哦~~呵呵


看来,,还有不少东西要学,,楼下的有高招的继续阿,,





这个肯定有些符号需要去转换,例如oracle数据里面,就需要把"号个转换了,因为在oracle里面
insert的时候,字符串是用""引起来的。所以看你数据库是什么,然后那些符号需要转换,就给替换掉就可以了,只要不超出字段长度范围


↑返回目录
前一篇: 用jsp做一个网站能选用sql server 2000数据库吗?
后一篇: 求一个jsp页面里调用qq对话框的方法和代码,100分!!!!!!