Java 如果响应中有多个值,如何从不同文本字段中的ajax响应中获取值?
我创建了一个程序,其中响应来自ajax,它有两个值testcode和testname,在我的jsp页面中有三个文本字段,一个是testid,当我运行程序并在第一个文本字段中输入testid值,然后按tab键,ajax响应来自其中的testcode和testname。 但问题是,在第二个和第三个文本字段中,两个值(testname、testcode)都会出现 总之,我希望一个特定的testname是转到特定字段,而不是同一字段中的两个值 代码是: jsp(jsp文件) java(用于从数据库获取响应的servlet) java(用于数据库操作的java文件)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(用于从数据库获取响
在两个相似的对象之间使用分隔符
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>
}