jsp中如何针对变量判断为数值

jsp中如何针对变量判断为数值,第1张

用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中下拉框中如何获取数据库中的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9701772.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存