
用JavaScript
<script type="text/javascript">
<%--
/
功能:检查一个对象内容是否全为数字(包含小数点)。
参数:要检查的对象(比如文本框)
返回值:布尔值(true代表全为数字,false包含非数字字符)
/
--%>
function isNumber(obj)
{
var i, j ,k;
var numstr = "1234567890";
//判断字符合法性
var k = 0;
for (i = 0; i < objvaluelength; i++)
{
var chr = objvaluecharAt(i);
if (chr == '')
{
k++;
}
j = numstrindexOf(chr);
if (j == -1)
{
return false;
}
}
if (k>1)
{
//alert(k);
return false;
}
return true;
}
</script>
dwr 同步 通过捕捉键盘输入 自动判断 这样不好 一般的用户名都超过6位字符 你输入6次 就会先JS验证合法性 然后查询数据库6次 这样会加重数据库频繁查询负担 还是输入完以后 通过鼠标光标移开的 *** 作 一次判断比较合理 然后返回一个用户名是否存在的结果 可以借鉴2楼的代码
但是还有一种方法通过js获取下拉框的值<select name="sel" onchange="check()"> -- 增加onchange事件<%while (rsnext()) {%><option value=""> -- 这里没有给选项赋值-- 改为,如:<option value="<%=rsgetString(1)%>"><%=rsgetString(1)%></option> <%}%></select><script type="text/javascript">function check(){var id = documentgetElementsByName("sel")value;-- 获取下拉框的值如:拼接url打开页面,var url = 'xxxxdoid=' + id;//注,具体的url你要自己拼写,我这个是列子,不能用的方法1,在本窗口打开页面:windowlocation = url ;方法2,新窗口打开页面windowopen(url)}</script> 追问: 我终于发现了,能读取数据,可是把读取的数据放入数据库中就有问题了,难道还要转码才行吗? 回答: 当然`~~ 追问: 页面编码是gb2312那我要怎样转码呢? 回答: 首先你要知道你的数据库的是什么编码的,你页面的编码要符合你数据库的编码,这样的转码才是正确的 追问: 现在我不是从页面读取数据了,而是直接在程序中测试DatevalueOf("1987-3-7")比如我用这样的方法把这个数据放到数据库中去就自动变成了1905-6-1了,感觉太怪了这个就和编码无关了 回答: 你具体的代码我也不知道,也不好给你说,给你个UTF-8转GB2312的代码吧private String utf8Togb2312(String str){StringBuffer sb = new StringBuffer();for(int i=0; i<strlength(); i++) {char c = strcharAt(i);switch (c) {case '+':sbappend(' ');break;case '%':try {sbappend((char)IntegerparseInt(strsubstring(i+1,i+3),16));}catch (NumberFormatException e) {throw new IllegalArgumentException();}i += 2;break;default:sbappend(c);break;}}String result = sbtoString();String res=null;try{byte[] inputBytes = resultgetBytes("8859_1");
很简单啊,直接在JS方法里面添加一个参数,jsp调用方法的时候,把值传进参数就好了。
另外你那个var
musio=documentgetElementById("sl");根本就不是这么用的,这个方法一般是用来取jsp上定义好的控件的。
conn=DriverManagergetConnection(strConn,strUser,strPassword);
Statement
stmt=conncreateStatement();//这样是很早的写法
最好写成这样PreparedStatement
pst=connprepareStatement(sql);
String
sql="select
from
表名
where
ID=要获取的行ID号";
ResultSet
rst=connexcuteQuery();
Systemoutprintln(rstgetInt(id));
1、你可以把你从页面输入的数据传到后台,比如用户名username="hhaip"和密码password="123456"。
2、查询语句可以select from user where username=username and password=password
3、假设查询出来的结果是不空的,就是ResultSet rs = jdbcselectSQL(sql);里的rs不为空的话,说明数据库有这个用户,就可以登录了,假设为空,要么是用户名错误,要么是密码错误,要么是都错了,或者没这个用户。
4、你也可以先select from user where username=username;把这个用户名的所有数据查询来,然后比较usergetPassword();和password判断是否相等,(usergetPassword()==password) ,user是你查询出来的那个对象,相等说明可以登录了。
建立数据库连接
调用方法,比如list<User> userlist = DBfindAll(), reqsetAttribute("list",userlist)
jsp部分:<c:forEach items="list" var="user">
<td>${userid}</td> //显示User对象的id属性
</c:forEach>
用到forEach,要引入jstljar
以上就是关于jsp中如何针对变量判断为数值全部的内容,包括:jsp中如何针对变量判断为数值、JSP实时获取当前页面文本框中的值 验证数据库中是否存在用、在jsp中下拉框中如何获取数据库中的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)