以前に発行したリクエストに対するレスポンスを使用して、コントロールを取得して Jsp に戻す必要があります。しかし、私が直面している問題は、jsp で応答を取得できないことです。
私はいくつかの投稿を通過し、いくつかの提案を試みましたが、どれもうまくいかないようです. 私の間違いを指摘してください。
以下は私の試みです:
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
log.info("IN form doGet");
request.setCharacterEncoding("utf-8");
String selectedClass = request.getParameter("key");
log.info(selectedClass);
String[] section = null;
DBHandler dbhandler = new DBHandler();
dbhandler.makeConnection();
if (true == dbhandler.verifyConnection()) {
section = dbhandler.getSection(selectedClass);
}
for (String str : section) {
log.info(str);
}
Logger log;
if (null != section) {
request.setAttribute(Appconstants.Section, section);
}
response.setHeader("Access-Control-Allow-Origin", "*");
response.sendRedirect("/ReportFetcher/WebContent/FirstJSP.jsp");
// RequestDispatcher view = request.getRequestDispatcher("/First.jsp");
// view.forward(request, response);
}
以下はjsp部分です:
function funcOnChange() {
var index = document.detail.Class.selectedIndex;
var valueSelected = document.detail.Class.options[index].value;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function()
{
// Check to see if this state change was "request complete", and
// there was no server error (404 Not Found, 500 Server Error, etc)
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var substring=xmlHttp.responseText;
alert("Alert Dialog! Gaurav");
}
if (xmlhttp.readyState == 404){
alert("404 error");
}
if (xmlhttp.readyState == 500){
alert("500 error");
}
}
xhr.open('GET', 'http://localhost:8080/ReportFetcher/FormHandler?key='+encodeURIComponent(valueSelected), true);
xhr.send(null);
return false;
}