AJAX JSP отображает выходные данные в таблице - PullRequest
0 голосов
/ 14 ноября 2018

пытается отобразить данные с сервера на странице в таблице.но, к сожалению, это не работает.Я могу отобразить это используя out.println.Образцы кода прилагаются.Большое спасибо.

ajax1 обрабатывает часть ajax, а ajax2 - файл для кода Java.

...

  Ajax1.jsp
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
        <script>
            $(document).ready(function(){
                 $("#users").change(function(){
                     var value = $(this).val();
                     $.get("ajax2.jsp",{q:value},function(data){
                      $("#javaquery").html(data);
                     });
                 });
             });
        </script>
    </head>
    <body>
        <select id = "users">
           <option value="">Select Account ID</option>
           <option value="calicut">calicut</option>
           <option value="kochi">kochi</option>
                      <option value="Admin">Admin</option>

        </select>
        <br />
        <div id="javaquery"><b>Name will be displayed here</b></div>
    </body>
</html>


Ajax2.jsp

<%@page import="java.text.SimpleDateFormat"%> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@page import="java.util.*,java.sql.*,java.io.*" %>
<%@page import="javax.servlet.*" %> 
<%@page import="javax.servlet.http.*" %> 
<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*,javax.swing.*,java.sql.Date.*,java.text.SimpleDateFormat.*,java.util.Date.*" %>
<html> <head> <meta http-equiv="Content-Type" 
                    content="text/html; charset=UTF-8"> <title></title> </head>
    <body> 


        <%

        InitialContext ctx;
       DataSource ds;
       Connection conn;
       ResultSet rs;
       Statement stmt;

 String name = "";
 String ename="";

    try {

        ctx=new InitialContext();
       ds=(DataSource) ctx.lookup("java:app/jdbc/SalesDB");
       conn=ds.getConnection();







   String q = request.getParameter("q");

        stmt = conn.createStatement(); //Create Statement to interact
      rs = stmt.executeQuery("select * from employees where Username='"+q+"'");
        while (rs.next()) {
          name = rs.getString("Role_")+rs.getString("username");
          ename=rs.getString("username");
        }
        rs.close();
        stmt.close();
        conn.close();
   } catch (Exception e) {
        e.printStackTrace();
   }
%>
Name:<%out.print(name);%>
eName:<%out.print(ename);%>

  </body> </html> 

............................................. .................................................

1 Ответ

0 голосов
/ 15 ноября 2018
   <script>
        $(document).ready(function(){
             $("#users").change(function(){
                 var value = $(this).val();
                 $.get("AjaxServlet",{q:value},function(data){
                  $("#javaquery").html(data);
                 });
             });
         });
    </script>

Удалите код Java из 2-го jsp и добавьте его в сервлет с именем «AjaxServlet» с отображением URL-адреса "/ AjaxServlet"

AjaxServlet:

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       String q = request.getParameter("q"); //q value



     InitialContext ctx;
       DataSource ds;
       Connection conn;
       ResultSet rs;
       Statement stmt;

 String name = "blank name";
 String ename="";

    try {

        ctx=new InitialContext();
       ds=(DataSource) ctx.lookup("java:app/jdbc/SalesDB");
       conn=ds.getConnection();







   String q = request.getParameter("q");

        stmt = conn.createStatement(); //Create Statement to interact
      rs = stmt.executeQuery("select * from employees where Username='"+q+"'");
        while (rs.next()) {
          name = rs.getString("Role_")+rs.getString("username");
          ename=rs.getString("username");
        }
        rs.close();
        stmt.close();
        conn.close();
   } catch (Exception e) {
        e.printStackTrace();
   }



        response.setContentType("text/plain");  // Set content type of the response so that jQuery knows what it can expect.
        response.setCharacterEncoding("UTF-8"); // You want world domination, huh?
        response.getWriter().write(name);       // Write response body.
    }

Подробнее о том, как сделать ajax с сервлетами, можно узнать здесь: Как использовать сервлеты и Ajax?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...