急盼大家看看我这个问题是什么原因:新闻发布页面上,当发布的文章字数不超过30几个的时候(在页面内嵌的eokedit.jsp中有文字输入区),一切正常并发布成功,但是超过了30多个,页面就不运行了,左下脚提示:网页上有错误,我是用JAVASCRIPT来获取文字域和隐藏域中的内容,然后传递给处理页面,处理页面把传过来的内容打包后传给数据库操作BEAN.下面是代码:
<%@page language="java" contentType="text/html;charset=GBK"%>
<html>
<body>
<form name=form1 action="" >
<table>
.........
<tr bgcolor=#eeeeee>
<td width=20% align=right><font color="#FF0000">标题:</font></td>
<td colspan="3"><input type=text name=Title size=50 ></td>
</tr>.....
<tr bgcolor=#eeeeee>
<td align=right><font color="#FF0000">文章内容:</font></td>
<td width="680" colspan="3" valign="top">
<jsp:include page="eokedit.jsp"/>
<script language="javascript">
document.write("<iframe id=message framespacing=1 width=510 height=350 marginheight=0 marginwidth=0 noresize=noresize></iframe>");
frames.message.document.designMode = "On";
</script></td>
<td><input type="hidden" name="Content"></td>
</tr>
....
</table>
</form>
<script language="javascript">
function add()
{
if(document.all.Title.value=="")
{
alert("文章标题不能为空!");
document.all.Title.focus();
return false;
} if(document.all.about.value=="")
{
alert("关键字不能为空!");
document.all.about.focus();
return false;
} if(document.all.mmmid2.value=="")
{
alert("二级版面名称不能为空!");
return false;
} if(document.all.mmmid3.value=="")
{
alert("出错拉 版面代号未传入!");
return false;
}
document.all.OLDORGID.value=document.all.strfile.value;
document.all.ORGID.value=document.all.strname.value;
document.all.Content.value = frames.message.document.body.innerHTML;
document.all.bmmc.value = "00000000000000000000";
document.all.form1.action = "../wenzhang.jsp";
document.all.form1.submit();}
</script>
</body>
</html>
================wenzhang.jsp============================
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%@ page import="oa.bean.*"%>
<%@ page import="oa.main.*"%>
<%@ page import="oa.servlet.*"%>
<html>
<body>
<%
DealString ds = new DealString();
Hashtable hash = new Hashtable();
ArticleBean ab = new ArticleBean();
................
String strTitle = ds.toGBK((String)request.getParameter("Title"));//标题String strContent = ds.toGBK((String)request.getParameter("Content"));//内容
..............
hash.put("TITLE",strTitle);
hash.put("CONTENT",strContent);
.............
ab.addArticle(hash);
%>
<%out.print("成功,恭喜你");%>
</body>
</html>
======== ArticleBean.java========================
public int addArticle(Hashtable hash)//增加文章表数据记录
{
int intMax = db.makeID_Add1("ARTICLE","ID","","",true);
String strTitle = ds.toString((String)hash.get("TITLE"));
...
Vector vect =new Vector();
vect.add("ARTICLE");
vect.add(addVector("ID",String.valueOf(intMax),"NUM"));
vect.add(addVector("TITLE",strTitle,"CHAR"));
...
int ret = insertRecord(vect);
if(ret!=0)
return ret;
else{
ret = UpdateBLOB_JNDI("ARTICLE","ID="+intMax,"CONTENT",strContent);
return ret;
}
}
===============DataBase.java==============
public int UpdateBLOB_JNDI(String table,String wherestr,String blobfield,String blobvalue)
{
String sql = "UPDATE "+table+" set "+blobfield+"=?";
if(!wherestr.equals(""))sql += " where "+wherestr;
prepareStatement(sql);
setObject(1,blobvalue,"BLOB");
executeUpdate();
closePstm();
return 0;
}
<%@page language="java" contentType="text/html;charset=GBK"%>
<html>
<body>
<form name=form1 action="" >
<table>
.........
<tr bgcolor=#eeeeee>
<td width=20% align=right><font color="#FF0000">标题:</font></td>
<td colspan="3"><input type=text name=Title size=50 ></td>
</tr>.....
<tr bgcolor=#eeeeee>
<td align=right><font color="#FF0000">文章内容:</font></td>
<td width="680" colspan="3" valign="top">
<jsp:include page="eokedit.jsp"/>
<script language="javascript">
document.write("<iframe id=message framespacing=1 width=510 height=350 marginheight=0 marginwidth=0 noresize=noresize></iframe>");
frames.message.document.designMode = "On";
</script></td>
<td><input type="hidden" name="Content"></td>
</tr>
....
</table>
</form>
<script language="javascript">
function add()
{
if(document.all.Title.value=="")
{
alert("文章标题不能为空!");
document.all.Title.focus();
return false;
} if(document.all.about.value=="")
{
alert("关键字不能为空!");
document.all.about.focus();
return false;
} if(document.all.mmmid2.value=="")
{
alert("二级版面名称不能为空!");
return false;
} if(document.all.mmmid3.value=="")
{
alert("出错拉 版面代号未传入!");
return false;
}
document.all.OLDORGID.value=document.all.strfile.value;
document.all.ORGID.value=document.all.strname.value;
document.all.Content.value = frames.message.document.body.innerHTML;
document.all.bmmc.value = "00000000000000000000";
document.all.form1.action = "../wenzhang.jsp";
document.all.form1.submit();}
</script>
</body>
</html>
================wenzhang.jsp============================
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*"%>
<%@ page import="java.text.*"%>
<%@ page import="java.io.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<%@ page import="oa.bean.*"%>
<%@ page import="oa.main.*"%>
<%@ page import="oa.servlet.*"%>
<html>
<body>
<%
DealString ds = new DealString();
Hashtable hash = new Hashtable();
ArticleBean ab = new ArticleBean();
................
String strTitle = ds.toGBK((String)request.getParameter("Title"));//标题String strContent = ds.toGBK((String)request.getParameter("Content"));//内容
..............
hash.put("TITLE",strTitle);
hash.put("CONTENT",strContent);
.............
ab.addArticle(hash);
%>
<%out.print("成功,恭喜你");%>
</body>
</html>
======== ArticleBean.java========================
public int addArticle(Hashtable hash)//增加文章表数据记录
{
int intMax = db.makeID_Add1("ARTICLE","ID","","",true);
String strTitle = ds.toString((String)hash.get("TITLE"));
...
Vector vect =new Vector();
vect.add("ARTICLE");
vect.add(addVector("ID",String.valueOf(intMax),"NUM"));
vect.add(addVector("TITLE",strTitle,"CHAR"));
...
int ret = insertRecord(vect);
if(ret!=0)
return ret;
else{
ret = UpdateBLOB_JNDI("ARTICLE","ID="+intMax,"CONTENT",strContent);
return ret;
}
}
===============DataBase.java==============
public int UpdateBLOB_JNDI(String table,String wherestr,String blobfield,String blobvalue)
{
String sql = "UPDATE "+table+" set "+blobfield+"=?";
if(!wherestr.equals(""))sql += " where "+wherestr;
prepareStatement(sql);
setObject(1,blobvalue,"BLOB");
executeUpdate();
closePstm();
return 0;
}
"
行:525
字符:2
错误:无效的语法
代码:0
URL:HTTP://LOCALHOST:8080/ADDCOM.JSP
"
但是我如果填写的字数在30多个以内就可以正常运行,实验用全字母可以有多少都没问题,但是汉字如果超过30多个就出现这样的错误, 郁闷~