Hallo! Ich habe ein seltsames Problem und hoffe ihr könnt mir einen Rat geben:
Ich nutze in meinem J2EE Projekt einen Controller, welcher mehr oder weniger nach dem Schema aufgebaut ist:
Das funktioniert bisher auch ganz gut. Allerdings habe ich jetzt ein Problem:
Ich weiß nicht, wie ich über diesen Controller Request-Daten mitschicken soll. Meistens habe ich ein Formular, welches per submit und post versendet wird, dann sind die Daten "automatisch" im "Request" drin und ich kann sie mit
auslesen. Um jetzt Daten mitzuschicken, sende ich per Ajax ein Request, dass sieht so aus:
Funktionieren tut das auch soweit, allerdings wird jetzt das requestDispatcher.forward() nicht mehr ausgeführt. Es scheint, als blocke Ajax das irgendwie :-/ Ich kann die Seite aber nicht einfach neu laden, weil ich im request Daten mitschicke, die halt nur 1x drin sind. Wisst ihr wie man das lösen könnte?
Ich nutze in meinem J2EE Projekt einen Controller, welcher mehr oder weniger nach dem Schema aufgebaut ist:
Java:
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, InstantiationException, IllegalAccessException, ClassNotFoundException {
String pathInfo = request.getPathInfo();
String servlet = pathInfo.substring(1);
if(servlet.equals("<command>")){
<commandHandler> handler = new <commandHandler>();
view = handler.processRequest(request, response); //Rückgabe vom Command
}
if (view != null) {
RequestDispatcher dispatcher = request.getRequestDispatcher(view);
dispatcher.forward(request, response);
}
Das funktioniert bisher auch ganz gut. Allerdings habe ich jetzt ein Problem:
Ich weiß nicht, wie ich über diesen Controller Request-Daten mitschicken soll. Meistens habe ich ein Formular, welches per submit und post versendet wird, dann sind die Daten "automatisch" im "Request" drin und ich kann sie mit
Java:
String foo = request.getParameter("<data>");
Java:
function showBooks(genre) {
var _data = "genre="+genre;
jQuery.ajax({
url: "showBooks",
type: "POST",
data: _data,
success: function (reqCode) {
}
});
}
Funktionieren tut das auch soweit, allerdings wird jetzt das requestDispatcher.forward() nicht mehr ausgeführt. Es scheint, als blocke Ajax das irgendwie :-/ Ich kann die Seite aber nicht einfach neu laden, weil ich im request Daten mitschicke, die halt nur 1x drin sind. Wisst ihr wie man das lösen könnte?