在BEAN中执行了SQL,如何提示添加/保存成功
并转向另一页??

解决方案 »

  1.   

    错了在servlet中执行了SQL,如何提示添加/保存成功
    并转向另一页??
      

  2.   

    执行sql语句的方法中增加一个返回值,根据返回值的不同在servlet里面判断是成功还是失败,然后request.setAtrribute值,JSP页面根据getAtrribute值显示结果
      

  3.   

    PrintWriter out=response.getWriter();
    out.println("<script>alert('ok');window.location='a.jsp'</script>");
    out.flush();
    out.close();
      

  4.   

    一般不在servlet中执行SQL,在执行SQL的函数添加一个返回值
      

  5.   

    我是新手看的不太懂errcode = sb.modLink(hash);public int modLink(Hashtable hash)
    {
    String strNAME  = ds.toString((String)hash.get("LINK_NAME"));
    String strURL = ds.toString((String)hash.get("LINK_URL"));
    String strSTATE = ds.toString((String)hash.get("LINK_STATE"));
    String strBID = ds.toString((String)hash.get("LINK_BID")); Vector vect = new Vector();
    vect.add("BID_LINK");
    vect.add(addVector("LINK_NAME",strNAME,"VARCHAR"));
    vect.add(addVector("LINK_URL",strURL,"VARCHAR"));
    vect.add(addVector("LINK_STATE",strSTATE,"NUM"));
    vect.add(addVector("LINK_BID",strBID,"NUM"));
    vect.add(" LINK_ID='"+id+"'"); //检验是否已经存在
    ResultSet rs = selectRecord("select LINK_ID from BID_LINK where LINK_NAME='"+strNAME+"' and LINK_ID<>'"+id+"'");
    Statement stmt = null;
    try{
    if(!rs.next())
    {
    int t =  updateRecord(vect);

    return t;
    }
    }catch(Exception e){System.out.println("运行时出错:"+e);}
    finally{
    if(rs!=null)try{ stmt = rs.getStatement(); rs.close();}catch(Exception e){System.out.println("关闭记录集rs时出错"+e);}
    if(stmt!=null) try{stmt.close();}catch(Exception e){System.out.println("关闭声明时statement出错"+e);}
    }
    return 1;
    }
    是不是执行完返回 1 ?我怎么判断这个1?
      

  6.   

    public void doGet(HttpServletRequest request ,HttpServletResponse response)throws IOException, ServletException
    {
    try
    {   SysConfBean sb = null;
    DealString ds = new DealString();
    sb = new SysConfBean();

    int errcode = 0;
    String strType = ds.toString((String)request.getParameter("txt_type"));//取得菜单类别
    String strID = ds.toString((String)request.getParameter("txt_id"));//编号
    String strEdit = ds.toString((String)request.getParameter("txt_edit"));//增删改类型
    if(strType.equals("21"))//主页链接设置
    {

    if(strEdit.equals("1"))//新增设置
    {   
    String strBID = ds.toString((String)request.getParameter("strBID"));
    String strNAME = ds.toGBK((String)request.getParameter("strNAME"));
    String strURL = ds.toGBK((String)request.getParameter("strURL"));
    String strSTATE = ds.toGBK((String)request.getParameter("strSTATE"));
    if(strSTATE.equals("是")) strSTATE = "1";
    else strSTATE = "0";

    Hashtable hash = new Hashtable();
    hash.put("LINK_NAME",strNAME);
    hash.put("LINK_URL",strURL);
    hash.put("LINK_STATE",strSTATE);
    hash.put("LINK_BID",strBID); errcode = sb.addLink(hash);
    }
    else if(strEdit.equals("2"))//修改设置
    {   
    String strId = ds.toString((String)request.getParameter("txt_id"));
    sb.setID(strId); String strBID = ds.toString((String)request.getParameter("strBID"));
    String strNAME = ds.toGBK((String)request.getParameter("strNAME"));
    String strURL = ds.toGBK((String)request.getParameter("strURL"));
    String strSTATE = ds.toGBK((String)request.getParameter("strSTATE"));
    if(strSTATE.equals("是")) strSTATE = "1";
    else strSTATE = "0";

    Hashtable hash = new Hashtable();
    hash.put("LINK_NAME",strNAME);
    hash.put("LINK_URL",strURL);
    hash.put("LINK_STATE",strSTATE);
    hash.put("LINK_BID",strBID); errcode = sb.modLink(hash);
    }
    else if(strEdit.equals("3"))//删除设置
    {
    sb.setType(21);
    sb.setID(strID);
    errcode = sb.delData();
    }
    //我添了如下代码
    if(errcode==1){
    PrintWriter out=response.getWriter();
    out.println("<script>alert('ok');window.location='link_list.jsp'</script>");
    out.flush();
    out.close(); }
    }

    }catch(Exception e){System.out.println("Manageservlet处理时出错;错误为:"+e);}
    finally{


    }
    }
    public void doPost(HttpServletRequest request ,HttpServletResponse response)throws IOException, ServletException
    {
    doGet(request,response);
    }实在不知道如何写,显然我写的不对,执行没什么效果,正确的格式是什么?
      

  7.   

    如果 在TALBLE BID_LINK中 LINK_ID 除了有为id的记录,还有其他的记录 
    也就是说rs.next() 为TRUE
    就 return 1;
    反之 在TALBLE BID_LINK中 LINK_ID 除了有为id的记录,没有其他的记录 
    rs.next() 为FALSE 
    就执行
    if(!rs.next())
    {
    int t =  updateRecord(vect);

    return t;
    }
      

  8.   

    errcode = sb.modLink(hash);
    我这边已经执行完了我只想做个提示保存成功然后转向到另一页上面代码我插入如下//我添了如下代码
    if(errcode==1){
    PrintWriter out=response.getWriter();
    out.println("<script>alert('ok');window.location='link_list.jsp'</script>");
    out.flush();
    out.close(); }并不能执行跳转??
      

  9.   

    我去掉判断倒是可以执行了
    但是
    alert('ok')OK改为中文则显示乱码
      

  10.   

    我是想问alert的内容如果是中文出现乱码如何处理?
      

  11.   

    那个很简单
     public void doGet(HttpServletRequest request, HttpServletResponse response) throws
                ServletException, IOException {
            response.setContentType(CONTENT_TYPE);
            request.setCharacterEncoding("GBK");
            response.setCharacterEncoding("GBK");
            String name = request.getParameter("name");
            String password = request.getParameter("password");
            Bean1 bean = new Bean1();
            bean.setName(name);
            bean.setPassword(password);
            sql sql1 = new sql();
            boolean aa = sql1.chek(bean);
            if (aa){
                response.sendRedirect("OK.jsp");
            } else {
                response.sendRedirect("err.jsp");
            }    }
      

  12.   

    这两个不是可以了吗
            request.setCharacterEncoding("GBK");
            response.setCharacterEncoding("GBK");