-1

Ajaxを使用してdiv通知でデータベースからのデータを表示したいだけですが、うまくいきません。私はMavenとSpring、Hibernateを使用しています。このコードでは、JDBCのみを使用して、機能しているかどうかを確認しています。しかし、それは出力を与えません。

function getNotifications() {
  var xmlHttp;
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e) {
    try {
      xmlHttp = new XMLHttpRequest();
    } catch (e) {
      alert("your browser cant support");
    }
  }
  xmlHttp.onreadystatechange = function () {
    if (xmlHttp.readyState == 4) {
      var x = (xmlHttp.responseText);
      document.getElementById("notifications").innerHTML = x;
      /* document.write(xmlHttp.responseText); */
    }
  }
  var url = "auto.jsp";
  url = url + "?q=" + str;
  xmlHttp.open("get", url, true);
  xmlHttp.send(url);
}        

auto.jsp

<%@ page import="java.sql.*" %>
<% String s="G";
System.out.println("helloooooooooo1111111");
String result=""; 
ArrayList li = new ArrayList();
try {
  Class.forName("com.mysql.jdbc.Driver");
  Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/db2402","root","admin");

  System.out.println("helloooooooooo1111111");
  Statement st = con.createStatement();
  String sql = "select * from message ";
  System.out.println("helloooooooooo22222266666");
  st.execute(sql);

  ResultSet rs = st.getResultSet();

  System.out.println("helloooooooooo222222");
  int i = 1;
  while(rs.next()){
    li.add(rs.getString(i));
    i = i++;
  }
}
catch(Exception ex){
  out.println(ex);
}
%>

<% 
Iterator itr = li.iterator();

while (itr.hasNext()) {
  out.println(itr.next());  
}

%>
4

1 に答える 1

0

一見、問題は 2 つのステートメントにあるように見えます。追加する代わりに値を再割り当てしています。
あなたはurl変数を持っています

var url = "auto.jsp";
url = url + "?q=" + str;  

への変更

var url = "auto.jsp";
url += "?q=" + str;   

auto.jspには

while(rs.next()){
 li.add(rs.getString(i));
 i++; //here simple i++ will work fine.
}   

編集

関係ない:

  1. jspでスクリプトレットを回避する方法
  2. Javaのプリインクリメントとポストインクリメント
于 2013-09-20T13:16:40.643 に答える