2016-06-15 8 views
0

Ich habe versucht, eine JSP-Seite in eine andere Seite durch einen Ajax-Aufruf aufzunehmen. Das Problem ist, dass, wenn die einzubindende Seite einige Leerstellen zwischen HTML-Elementen hat, die Inklusion fehlschlägt.(AJAX - Jsp include) Wie fügt man eine JSP mit Ajax ein?

Zum Beispiel hier ist mein Demo index.jsp:

function include() { 
 
    alert("Hello from include function."); 
 

 
    $.ajax({ 
 
    type: "GET", 
 
    url: "Include", 
 
    success: function() { 
 
     alert("Ajax success function."); 
 
     $("#container").html("<jsp:include page='hello.jsp' />"); 
 
     alert("Ajax end success function."); 
 
    } 
 
    }); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<body> 
 
    <button onclick="include()">Include</button> 
 
    <div id="container" style="border: 1px solid red;"></div> 
 
</body>

Hier ist die hello.jsp Seite aufgenommen werden (keine Leerzeichen zwischen den Elementen Tags oder sind fehl):

<p>Hello from the included file.</p><p>Hello from the included file.</p><p>Hello from the included file.</p>

Und das Servlet hat nur eine do-nothing (jetzt) ​​doGet-Methode.

Gefällt es Ihnen allen? Stimmt etwas mit meinem Code nicht? Gibt es eine andere Art, die gleiche Aufgabe zu erledigen?

Antwort

0

<jsp:include page='hello.jsp' /> ist serverseitiger Code. Das kann man in Javascript nicht machen.

Stattdessen müssen Sie eine Anfrage an diese Seite stellen und dann den zurückgegebenen HTML-Code in Ihrem Element ablegen.

+0

Sorry, können Sie ein Beispiel geben? Vielen Dank –