Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果响应中有多个值,如何从不同文本字段中的ajax响应中获取值?_Java_Ajax_Jsp_Servlets - Fatal编程技术网

Java 如果响应中有多个值,如何从不同文本字段中的ajax响应中获取值?

Java 如果响应中有多个值,如何从不同文本字段中的ajax响应中获取值?,java,ajax,jsp,servlets,Java,Ajax,Jsp,Servlets,我创建了一个程序,其中响应来自ajax,它有两个值testcode和testname,在我的jsp页面中有三个文本字段,一个是testid,当我运行程序并在第一个文本字段中输入testid值,然后按tab键,ajax响应来自其中的testcode和testname。 但问题是,在第二个和第三个文本字段中,两个值(testname、testcode)都会出现 总之,我希望一个特定的testname是转到特定字段,而不是同一字段中的两个值 代码是: jsp(jsp文件) java(用于从数据库获取响

我创建了一个程序,其中响应来自ajax,它有两个值testcode和testname,在我的jsp页面中有三个文本字段,一个是testid,当我运行程序并在第一个文本字段中输入testid值,然后按tab键,ajax响应来自其中的testcode和testname。 但问题是,在第二个和第三个文本字段中,两个值(testname、testcode)都会出现 总之,我希望一个特定的testname是转到特定字段,而不是同一字段中的两个值

代码是:

jsp(jsp文件) java(用于从数据库获取响应的servlet) java(用于数据库操作的java文件)
在两个相似的对象之间使用分隔符

out.write((String) vec.get(0) + ",");

out.write((String) vec.get(1));
当您得到响应时,使用“拆分到拆分文本”并设置为两个字段,如

var responseTextVar = xmlhttp.responseText;
var item=responseTextVar.split(',');
document.getElementById("tc").value=item[0];
document.getElementById("tn").value=item[1];

这是一个完整的代码,它工作得很好,这是一个非常简单的方法

<%-- 
    Document   : viewtodata
    Created on : Apr 19, 2014, 12:41:27 PM
    Author     : sohail
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <input type="text" name="uid" value="" id="uid" />
        <input type="text" name="pass" value="" id="pass"/>
        <input type="text" name="2nd" value="" id="2nd" />
        <input type="text" name="3rd" value="" id="3rd" />
         <input type="text" name="4th" value="" id="4th" />
         <input type="text" name="incen" value="" id="incen" />
    </body>
</html>
<script type="text/javascript" src="js/jq.js"></script>
<script type="text/javascript">

    $(document).ready(function() {
        $("#uid").mouseleave(function(e) {
           // e.preventDefault();
            s = $("#uid").val();
           // z = $("#pass").val();
                $.ajax({
                type : "POST",
                url : "FromData?action=pass",
             data : "uid=" + s  ,
              //data : "name=" + s + "&age=" + z ,
             //"name" ye wo parameter name hy jo min nay controller mn req.getpara sy hasil krna hy or s and z mn value ja r hy

                success : function(data) {
                    $('#pass').val(data);
                }
            });
     //return false; 
     });
    });
</script>
<script type="text/javascript" src="js/jq.js"></script>
<script type="text/javascript">

    $(document).ready(function() {
        $("#uid").mouseleave(function(e) {
           // e.preventDefault();
            uid = $("#uid").val();
           // z = $("#pass").val();
                $.ajax({
                type : "POST",
                url : "FromData?action=vin",
             data : "uname=" + uid  ,
              //data : "name=" + s + "&age=" + z ,
             //"name" ye wo parameter name hy jo min nay controller mn req.getpara sy hasil krna hy or s and z mn value ja r hy

                success : function(data) {
                    $('#2nd').val(data);
                }
            });
     //return false; 
     });
    });
</script>
<script type="text/javascript">

    $(document).ready(function() {
        $("#uid").mouseleave(function(e) {
           // e.preventDefault();
            price = $("#uid").val();
           // z = $("#pass").val();
                $.ajax({
                type : "POST",
                url : "FromData?action=price",
             data : "price=" + uid  ,
              //data : "name=" + s + "&age=" + z ,
             //"name" ye wo parameter name hy jo min nay controller mn req.getpara sy hasil krna hy or s and z mn value ja r hy

                success : function(data) {
                    $('#3rd').val(data);
                }
            });
     //return false; 
     });
    });
</script>
<script type="text/javascript">

    $(document).ready(function() {
        $("#incen").mouseleave(function(e) {
           // e.preventDefault();
            incen = $("#incen").val();
           // z = $("#pass").val();
                $.ajax({
                type : "POST",
                url : "FromData?action=incen",
             data : "incen=" + incen  ,
              //data : "name=" + s + "&age=" + z ,
             //"name" ye wo parameter name hy jo min nay controller mn req.getpara sy hasil krna hy or s and z mn value ja r hy

                success : function(data) {
                    $('#4th').val(data);
                }
            });
     //return false; 
     });
    });
</script>       

  /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.servlets.cal;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author sohail
 */
public class FromData extends HttpServlet {


    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, ClassNotFoundException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /* TODO output your page here. You may use following sample code. */




       try { 
            String values=request.getParameter("action");
           if(values.equals("pass"))
            {
                String uid=request.getParameter("uid");
           Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ajaxdata","root","sohail");

String sql = " SELECT password FROM login WHERE userID = ? "; 
PreparedStatement pStmt = con.prepareStatement(sql); 
pStmt.setString(1, uid); 
//pStmt.setString(2, upass); 

ResultSet rs = pStmt.executeQuery(); 

String pass; 
if ( rs.next() ) { 
pass = rs.getString("password"); 

// creating a PersonInfo object 



// adding a beanto arraylist 
 out.println(pass);
} // end while 
       }// end of if *********************************************
           else if(values.equals("vin")){
           String uid=request.getParameter("uname");
           Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ajaxdata","root","sohail");

String sql = " SELECT vin FROM login WHERE userID = ? "; 
PreparedStatement pStmt = con.prepareStatement(sql); 
pStmt.setString(1, uid); 
//pStmt.setString(2, upass); 

ResultSet rs = pStmt.executeQuery(); 

String vin; 
if ( rs.next() ) { 
vin = rs.getString("vin"); 

// creating a PersonInfo object 



// adding a beanto arraylist 
 out.println(vin);
} // end while 
           }//end of vin if******************************
           else if(values.equals("price")){
           String pri=request.getParameter("price");
           Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ajaxdata","root","sohail");

String sql = " SELECT price FROM login WHERE userID = ? "; 
PreparedStatement pStmt = con.prepareStatement(sql); 
pStmt.setString(1, pri); 
//pStmt.setString(2, upass); 

ResultSet rs = pStmt.executeQuery(); 

String price; 
if ( rs.next() ) { 
price = rs.getString("price"); 

// creating a PersonInfo object 



// adding a beanto arraylist 
 out.println(price);
} // end while 
           }//end of price if **************************
            else if(values.equals("incen")){
           String incen=request.getParameter("incen");
           Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ajaxdata","root","sohail");

String sql = " SELECT price FROM incentive WHERE incentiveID = ? "; 
PreparedStatement pStmt = con.prepareStatement(sql); 
pStmt.setString(1, incen); 
//pStmt.setString(2, upass); 

ResultSet rs = pStmt.executeQuery(); 

String price; 
if ( rs.next() ) { 
price = rs.getString("price"); 

// creating a PersonInfo object 



// adding a beanto arraylist 
 out.println(price);
} // end while 
           }//end of incen if **************************
       } // end of 2nd try

catch(SQLException sex){ 
System.out.println(sex); 
} //end of catch
        } finally {            
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(FromData.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(FromData.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}

Fenil shah,先生,它现在不工作,(seperator)也显示在两个文本字段中。您是否在“项目”中得到拆分文本?是的,先生,在项目[0]和项目[1]中,两个字段中都显示相同的值,使用seperator(逗号)。我认为拆分应该有问题,请尝试我编辑的答案。它现在应该工作了。
package DAO;

import java.sql.*;
import java.util.Vector;



//import beans.Test;

import DAO.DBCon;

public class TestDao {




    public Vector getName(String testid)
    {
        Connection con=DBCon.getConnection();
         System.out.println("got connection");

        Vector temp=new Vector();

        try
        {
            ResultSet rset=null;
            PreparedStatement pst = con.prepareStatement("select testcode,testname from test where test_id=?");
            System.out.println("got control here");
            pst.setString(1,testid);

            rset=pst.executeQuery();
                 while(rset.next()){ 
                     temp.add(rset.getString(1));

                     temp.add(rset.getString(2));
                     System.out.println("got control here in loop");
                 }
                }
        catch(Exception e)
        {
            e.printStackTrace();
        }
            return  temp;       
        }

    }
out.write((String) vec.get(0) + ",");

out.write((String) vec.get(1));
var responseTextVar = xmlhttp.responseText;
var item=responseTextVar.split(',');
document.getElementById("tc").value=item[0];
document.getElementById("tn").value=item[1];
<%-- 
    Document   : viewtodata
    Created on : Apr 19, 2014, 12:41:27 PM
    Author     : sohail
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <input type="text" name="uid" value="" id="uid" />
        <input type="text" name="pass" value="" id="pass"/>
        <input type="text" name="2nd" value="" id="2nd" />
        <input type="text" name="3rd" value="" id="3rd" />
         <input type="text" name="4th" value="" id="4th" />
         <input type="text" name="incen" value="" id="incen" />
    </body>
</html>
<script type="text/javascript" src="js/jq.js"></script>
<script type="text/javascript">

    $(document).ready(function() {
        $("#uid").mouseleave(function(e) {
           // e.preventDefault();
            s = $("#uid").val();
           // z = $("#pass").val();
                $.ajax({
                type : "POST",
                url : "FromData?action=pass",
             data : "uid=" + s  ,
              //data : "name=" + s + "&age=" + z ,
             //"name" ye wo parameter name hy jo min nay controller mn req.getpara sy hasil krna hy or s and z mn value ja r hy

                success : function(data) {
                    $('#pass').val(data);
                }
            });
     //return false; 
     });
    });
</script>
<script type="text/javascript" src="js/jq.js"></script>
<script type="text/javascript">

    $(document).ready(function() {
        $("#uid").mouseleave(function(e) {
           // e.preventDefault();
            uid = $("#uid").val();
           // z = $("#pass").val();
                $.ajax({
                type : "POST",
                url : "FromData?action=vin",
             data : "uname=" + uid  ,
              //data : "name=" + s + "&age=" + z ,
             //"name" ye wo parameter name hy jo min nay controller mn req.getpara sy hasil krna hy or s and z mn value ja r hy

                success : function(data) {
                    $('#2nd').val(data);
                }
            });
     //return false; 
     });
    });
</script>
<script type="text/javascript">

    $(document).ready(function() {
        $("#uid").mouseleave(function(e) {
           // e.preventDefault();
            price = $("#uid").val();
           // z = $("#pass").val();
                $.ajax({
                type : "POST",
                url : "FromData?action=price",
             data : "price=" + uid  ,
              //data : "name=" + s + "&age=" + z ,
             //"name" ye wo parameter name hy jo min nay controller mn req.getpara sy hasil krna hy or s and z mn value ja r hy

                success : function(data) {
                    $('#3rd').val(data);
                }
            });
     //return false; 
     });
    });
</script>
<script type="text/javascript">

    $(document).ready(function() {
        $("#incen").mouseleave(function(e) {
           // e.preventDefault();
            incen = $("#incen").val();
           // z = $("#pass").val();
                $.ajax({
                type : "POST",
                url : "FromData?action=incen",
             data : "incen=" + incen  ,
              //data : "name=" + s + "&age=" + z ,
             //"name" ye wo parameter name hy jo min nay controller mn req.getpara sy hasil krna hy or s and z mn value ja r hy

                success : function(data) {
                    $('#4th').val(data);
                }
            });
     //return false; 
     });
    });
</script>       

  /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.servlets.cal;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author sohail
 */
public class FromData extends HttpServlet {


    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, ClassNotFoundException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /* TODO output your page here. You may use following sample code. */




       try { 
            String values=request.getParameter("action");
           if(values.equals("pass"))
            {
                String uid=request.getParameter("uid");
           Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ajaxdata","root","sohail");

String sql = " SELECT password FROM login WHERE userID = ? "; 
PreparedStatement pStmt = con.prepareStatement(sql); 
pStmt.setString(1, uid); 
//pStmt.setString(2, upass); 

ResultSet rs = pStmt.executeQuery(); 

String pass; 
if ( rs.next() ) { 
pass = rs.getString("password"); 

// creating a PersonInfo object 



// adding a beanto arraylist 
 out.println(pass);
} // end while 
       }// end of if *********************************************
           else if(values.equals("vin")){
           String uid=request.getParameter("uname");
           Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ajaxdata","root","sohail");

String sql = " SELECT vin FROM login WHERE userID = ? "; 
PreparedStatement pStmt = con.prepareStatement(sql); 
pStmt.setString(1, uid); 
//pStmt.setString(2, upass); 

ResultSet rs = pStmt.executeQuery(); 

String vin; 
if ( rs.next() ) { 
vin = rs.getString("vin"); 

// creating a PersonInfo object 



// adding a beanto arraylist 
 out.println(vin);
} // end while 
           }//end of vin if******************************
           else if(values.equals("price")){
           String pri=request.getParameter("price");
           Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ajaxdata","root","sohail");

String sql = " SELECT price FROM login WHERE userID = ? "; 
PreparedStatement pStmt = con.prepareStatement(sql); 
pStmt.setString(1, pri); 
//pStmt.setString(2, upass); 

ResultSet rs = pStmt.executeQuery(); 

String price; 
if ( rs.next() ) { 
price = rs.getString("price"); 

// creating a PersonInfo object 



// adding a beanto arraylist 
 out.println(price);
} // end while 
           }//end of price if **************************
            else if(values.equals("incen")){
           String incen=request.getParameter("incen");
           Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ajaxdata","root","sohail");

String sql = " SELECT price FROM incentive WHERE incentiveID = ? "; 
PreparedStatement pStmt = con.prepareStatement(sql); 
pStmt.setString(1, incen); 
//pStmt.setString(2, upass); 

ResultSet rs = pStmt.executeQuery(); 

String price; 
if ( rs.next() ) { 
price = rs.getString("price"); 

// creating a PersonInfo object 



// adding a beanto arraylist 
 out.println(price);
} // end while 
           }//end of incen if **************************
       } // end of 2nd try

catch(SQLException sex){ 
System.out.println(sex); 
} //end of catch
        } finally {            
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(FromData.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * Handles the HTTP
     * <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(FromData.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}