很多简单问题吖。。。。。急求解决。高分求解
NO.1
jsp网页上有一个文本框(输入数字)、进行跳转页面的。
但是问题是不输入点击跳转就出错了。然后我加了 js 验证这个文本框是否为空、但是没用、
文本域:
Java code
<input name="jump" onkeyup="value=value.replace(/[^(\d)]/g,'')" class="" id="jump" type="text" size="4" />
onkeyup 这个用来不让用户输入汉字等的字符、
js验证:
JScript code
<script language="JavaScript">
function formcheck(form1) //form1是表单
{var flag = true;
if (form1.jump.value =="")
{ alert("请输入需要跳转的页码!");
form1.jump.focus();
flag = false;
}
return flag;
}
</script>
NO2:
我的登录页面输错用户名和密码 就会弹出提示框、但是提示框里的提示是乱码。 验证是写在 servlet里的、
servlet里有这么两句:
Java code
request.setCharacterEncoding("gb2312") ;
response.setContentType("text/html;charset=GB2312");
登录页面的编码是 gb2312
数据库也是 gb2312
NO3:
我的搜索框里一旦输入数据库里查询不到的信息。就会出错。
我想用 n进行判断是否有数据。但是不行。。
贴出部分代码:
Java code
int n = 0 ;
while(iter.hasNext()&&n<Pagesize)
{
DB_book m = (DB_book)iter.next() ;
n++ ;
String id=m.getId();
String name=m.getName();
%>
..................省略。
<%
}
if(n==0)
{
out.print("<script type='text/javascript'>alert('未查询到相关信息!');document.location.href='XXX.jsp';</script>");
}
%>
------解决方案--------------------
NO 1 经过测试,是可以进行非空判断的
<form onsubmit="return formcheck(this)"> 你是不是调用的时候写错了
NO 2 这个暂时帮不了
NO 3 你这个是集合么,可以判断集合是否为空,集合的长度是否大于0
------解决方案--------------------No3,你可以先 select count(*) from tb1; 得到记录总条数count;
然后你有一个固定的页面条数Pagesize,还有一个要跳到第几页的PageNo对吧,
那么你设 BeginRow=(PageNo-1)*Pagesize+1,EndRow=PageNo*Pagesize,应该输出的记录的首末行
把BeginRow,EndRow与count比较,如果BeginRow<count<EndRow,那么EndRow=count,接着数据库查找
如果count<BeginRow,直接输出没记录,结束
数据库查找语句:select * from tb1 where rownum between BeginRow and EndRow;
取出要输出到页面上的Pagesize条记录,
------解决方案--------------------No3,你可以先 select count(*) from tb1; 得到记录总条数count;
然后你有一个固定的页面条数Pagesize,还有一个要跳到第几页的PageNo对吧,
那么你设 BeginRow=(PageNo-1)*Pagesize+1,EndRow=PageNo*Pagesize,应该输出的记录的首末行
把BeginRow,EndRow与count比较,
*如果EndRow<count,那么接着数据库查找
*如果BeginRow<count<EndRow,那么EndRow=count,接着数据库查找
*如果count<BeginRow,那么直接输出没记录,结束
数据库查找语句:select * from tb1 where rownum between BeginRow and EndRow;
取出要输出到页面上的Pagesize条记录,
------解决方案--------------------
NO1:你写得那个JS函数有被调用吗?还是被调用的代码没有贴出来,没代码我也不好说,所有不解释,应该调用部分错了,你检查检查调用部分
NO2:用个一个Filter即可解决,代码如下:
Java code
public class Encoding implements Filter{
public void destroy() {
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain cha) throws