alert(<%=result%>);
你不import进来,系统怎么知道你的bean在那啊!!!

解决方案 »

  1.   

    哦,不好意思,你可能误解我的意思了
    我是说在上面代码中去掉
    import="csx_leony.dbms.sqlserver.ViewQueryBean"和
    <%!
    void test()
    {
    ViewQueryBean a = new ViewQueryBean();
    a.openConnection();
    }
    %>
    变成:
    <%@ page contentType="text/html;charset=GB2312" import="csx_leony.dbms.sqlserver.ViewQueryBean"  %><jsp:useBean id="bean" scope="request" class="csx_leony.dbms.sqlserver.ViewQueryBean" /><html>
    <body>
    ..............
    <%
    String usename=request.getParameter("username");
    String password=request.getParameter("passwd");
    String result=null;
    bean.openConnection();
    String loginstr="select * from manager where managername = '"+usename+"'";
    bean.executeQuery(loginstr);if(!bean.next())
    {
    result="用户名不存在";
    }
    else if(!bean.getData(3).equals(password))
    {
    result="密码有误";
    }
    else
    {
    result="登陆成功";
    }
    if (result.equals("登陆成功"))
    {
       session.setAttribute("usename",usename);
       session.setAttribute("password",password);
       session.setMaxInactiveInterval(5);
       response.sendRedirect("main.jsp");
    }
    else
    {
       out.println(result);
       /*out.println("<Script Language='JavaScript'>");
       out.print("alert('登录失败,");
       out.println("请确认ID与Password.');");
       out.println("</Script>");
       */%><%
    }
    bean.close();
    %>
    ................
    </BODY></HTML>是OK的!
    但是如果我再把
    <%!
      openConnection();
    }
    %>
    加进去,就会报错,找不到bean变量!
      

  2.   

    还有就是我知道用alert(<%=result%>);可以实现,但在下面的代码中,我怎么实现在out.println中组成script语句,谢谢!out.println(result);
    out.println("<Script Language='JavaScript'>");
    out.print("alert('登录失败,");
    out.println("请确认ID与Password.');");
    out.println("</Script>");
      

  3.   

    out.print("alert('"+result+"')");
    调来调去看的我眼花要么你就用import,要么就用useBean.不要都放在一块用,以后维护都难!
      

  4.   

    看看这个帖子,对你可能有所帮助http://expert.csdn.net/Expert/topic/1320/1320844.xml?temp=.7353174
      

  5.   

    我就是用usebean时,在
    <% %> 中可以直接用bean.openConnection()
    而在
    <%! %>中却不能用bean.openConnection(),报错:找不到bean就是这个问题!
      

  6.   

    有一点需要你明白,<%! %>中定义的是类的方法或本类的全局变量。你的jsp程序经过编译后会是这样的:
    public class class1{
      void test()
      {
    ViewQueryBean a = new ViewQueryBean();
    a.openConnection();
      }  public void service(request,response){
            .
            .
            ViewQueryBean bean=......
            bean.openConnection();
            String loginstr="select * from manager where managername   = '"+usename+"'";
           bean.executeQuery(loginstr);       .
           .
           .
      }
    }这是因为<jsp:useBean id="bean" scope="request" class="csx_leony.dbms.sqlserver.ViewQueryBean" />中定义的变量 bean,原来是在service()中定义的。所以在Test()方法中不能访问。