首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp代码执行的有关问题

2012-04-07 
jsp代码执行的问题scriptLanguage JavaScript functioncheck(){if(document.forms[0].item( userID

jsp代码执行的问题
<script   Language= "JavaScript ">
function   check()   {
if   (document.forms[0].item( "userID ").value   ==   " ")   {
alert( "用户不能为空! ");
return   false;
}   else   if   (document.forms[0].item( "passWord ").value   ==   " ")   {
alert( "密码不能为空! ");
return   false;
}   else   {
<%
String   strUserID   =   request.getParameter( "userID ");
String   strPassWord   =   request.getParameter( "passWord ");
ArrayList   arl   =   new   ArrayList();
String   strKengen   =   " ";
if   (strUserID   !=   null   &&   !strUserID.equals( " ")  
&&   strPassWord   !=   null   &&   !strPassWord.equals( " "))
{
LoginHelper   loginHelper=new   LoginHelper();
loginHelper.setStrUserID(strUserID);
loginHelper.setStrPassword(strPassWord);
boolean   blnRet   =   loginHelper.checkLogin();
strKengen   =   loginHelper.getStrKengen();
System.out.println(strKengen);
}
%>
document.forms[0].item( "txtKengen ").value   =   " <%=strKengen%> ";
return   true;
}
}
function   pageJump()   {
document.forms[0].item( "txtKengen ").value   =   " <%=strKengen%> ";
if   (document.forms[0].item( "txtKengen ").value   ==   "0 ")
{
alert( "密码不正确! ");
return;
}
if   (document.forms[0].item( "txtKengen ").value   ==   "-1 ")
{
alert( "用户不存在 ");
return;
}
if   (document.forms[0].item( "txtKengen ").value   ==   "1 ")
{
document.forms[0].action   =   "IppanUserMenu.jsp ";
}
if   (document.forms[0].item( "txtKengen ").value   ==   "2 ")
{
document.forms[0].action   =   "GroupUserMenu.jsp ";
}
if   (document.forms[0].item( "txtKengen ").value   ==   "3 ")
{
document.forms[0].action   =   "AllUserMenu.jsp ";
}
if   (document.forms[0].item( "txtKengen ").value   ==   "4 ")
{
document.forms[0].action   =   "OtherUserMenu.jsp ";
}
document.forms[0].submit();
}
</script>
<input   type= "button "   style= "width:   50;   height:   50;   border:   0; "   name   =   "btnLogin "   value= "登陆 "
onclick= "if   (check()   ==   true)   {form1.submit();pageJump();}   else   {return   false;} ">
<INPUT   type= "hidden "   name= "txtKengen "   value= "0 "/>

大家帮忙看看这段代码我写的对不对?我现在想实现的功能是先check用户和密码是不是空,如果都不是空,就去数据库里面检索,根据不同的返回值,跳转道不同的画面,或者弹出错误信息。但是现在用上面的代码check是没有问题,但是下面跳转就不对了,每次都是用上一次的返回值进行判断,那位大侠帮小弟看看到底问题出在什么地方,谢谢了。在线等!

[解决办法]
为什么写这么复杂?

不要把java代码写在javascript里,因为,当加载这个jsp页面时,会先运行里面的java代码的(不知道是不是这样说),所以,
在你check()函数里,当加载这个页面时,是首先运行了else里的java内容!!!这时,else就等于没有内容了。


当你按下按钮,由于else里是空的,所以,就什么也不做了。

不知道你明不明白我说的。


你可以这样,把else里的内容放在另外一个页面,在else里就跳转到这个页面。
ps:最好把else里的内容写在一个javabean(servlet)里,
ps:不要什么都写在jsp里,乱死了。
ps:以后修改你就知道痛苦了。
[解决办法]
我知道了,你想实现不刷新页面来做验证对吧
这个可以用AJAX或者STRUTS来做
STRUTS的话在页面加上这样一串代码 <html:errors property= "password "/>
然后后台FORMBEAN在做Validate的时候可以返回错误信息到页面上
错误信息可以在ApplicationResource.properties文件里设置
[解决办法]
LZ高人呀 MODEL 1 2 还没玩明白就STRUTS 佩服
<script Language= "JavaScript ">
function check() {
if (document.forms[0].item( "userID ").value == " ") {
alert( "用户不能为空! ");
return false;
}
else if (document.forms[0].item( "passWord ").value == " ")
{
alert( "密码不能为空! ");
return false;
}
else
{
form.submit();
return true;
}
</script>
<%
String strUserID = request.getParameter( "userID ");
String strPassWord = request.getParameter( "passWord ");
ArrayList arl = new ArrayList();
String strKengen = " ";
if (strUserID != null && !strUserID.equals( " ")
&& strPassWord != null && !strPassWord.equals( " "))
{
LoginHelper loginHelper=new LoginHelper();
loginHelper.setStrUserID(strUserID);
loginHelper.setStrPassword(strPassWord);
boolean blnRet = loginHelper.checkLogin();
strKengen = loginHelper.getStrKengen();
System.out.println(strKengen);
}
%>

这样写
还有〈from action= " ">

热点排行