大家好,
有个问题想请教一下:
我搭了个很简单的STRUTS框架,
做了一个登陆页面
现在困扰的问题是:登陆页面输入用户名和密码后
后台数据库检索没有搜索到,这时候要在前台JSP页面弹出alert,说明无此用户,或者用户名密码错误等警告信息
请问有达人给指导下么?
谢谢

解决方案 »

  1.   

    你这个问题,如果想在本页面弹出一个alert页面的话,则需要用到ajax,如果在其他页面弹出alert的话就是在调用action函数的时候如果失败就在request对象里面存储一个失败的字符,action函数控制跳转的页面在javascript里面获得那个request对象存储的字符做判断,在来控制弹出相应的弹出alert。
      

  2.   

    好的,谢谢,我试一试
    AJAX肯定用不了,我试试您另个方法
      

  3.   

    为什么用不了AJAX?如果用不了真AJAX请用伪AJAX用IFRAME做表单提交,STRUTS直接返回带参数的页面,提取参数然后刷新PARENT页面
      

  4.   

    看你打算怎么让这个信息进行提示了,在前台JSP页面的话可以考虑用Jquery的ajax。在后台的处理程序中的话建议你用
                      PrintWriter out = response.getWriter();
    out.print("<html><body><script>");
    out.print("alert('添加成功!')");
    out.print("</script></body></html>");
    在跳转的时候记得使用include。
      

  5.   

    可以用js
    或者用struts的异常消息
      

  6.   

    给你提供一种方式
    1.登陆页面配置action的返回页面2个(正确挡路后的返回index页,错误返回登陆页)
    2.在登陆页添加脚本,取action的返回值,根据返回值进行alert输出问题解答:
    1.首次登陆与异常返回登陆的差异
    可以通过判断一个变量的值是否存在的方式进行区分
    2.取值方式
    可以通过<%request.getattribute("变量")%>获取
      

  7.   

    既然是很简单的struts项目,那么就用js
    function valudate() {
    if(f1.username.value=="") {
    alert("用户名不为空");
    return;
    }
    f1.submit();
    }<form name="f1">
    <input type="text" name="username" value=""/>
    <input type="button" value="确定" onClick="valudate()"/>
    </form>
      

  8.   

    后台如果不存在 在request.setAttribute("mes","用户不存在");前台 写一个js
    <script>
       if(${mes!=null}){
          alert(${mes});
        }
    </script>
      

  9.   

    此楼正解:action:
    if(){
    // 有数据...你处理你的
    }else{
    //没数据...看这
    request.setAttribute("err");
    return mapping.getInputForward();//回到主页面
    }jsp:
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <html>
    <body>
    <c:if test=${err!=null}>
    alert('信息有误,请重新输入');
    </c:if>
    //你的内容
    </body>
    </html>