Stavo facendo delle prove con AJAX e volevo sapere se esiste un modo per un piccolo problema di scrittura del codice.
Tramite AJAX faccio una richiesta ad una servlet che si conclude con il tradizionale forward ad una jsp:
- Codice: Seleziona tutto
RequestDispatcher view = request.getRequestDispatcher("/web/selctDinamiciResultXML.jsp");
view.forward(request,response);
Questa jsp crea l'xml che di fatto sarà ritornato al mio script ajax che ha invoctoa la servlet tramite:
- Codice: Seleziona tutto
//req è il mio oggetto XMLHttpRequest
var xmlDoc=req.responseXML.documentElement;
Tutto funziona correttamente ma sono obbligato a scrivere la jsp come segue:
- Codice: Seleziona tutto
<%@ page contentType="text/xml" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><?xml version="1.0" encoding="UTF-8"?>
<result_list>
<c:forEach var='item' items='${risultatiTrovati}'>
<result_element value="<c:out value='${item.key}'/>">
<nome><c:out value='${item.value}'/></nome>
</result_element>
</c:forEach>
</result_list>
Con la porzione di codice "<%@ page contentType="text/xml" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><?xml version="1.0" encoding="UTF-8"?>" tutta sulla prima riga.
Questo perchè altrimenti il codice della jsp generato conterrebbe degli spazi che non renderebbero riconoscibile il dom.
Che voi sappiate esiste un modo per generare l'xml in una jsp evitando di scrivere la jsp in questo modo?
Grazie a tutti!