2010-05-21 11 views

Antwort

6

Die einfachste, was zu tun ist, um die .load() Funktion jQuery zu verwenden.

$('#targetDivId').load('${your.struts.url}', function() { 
    // stuff to do when the div has been reloaded 
}); 

Jetzt verstehen, dass Sie darauf achten sollen, dass die Antwort von Ihrer Aktion ist eine Seite, die nicht wirklich eine vollständige HTML-Seite ist, weil Sie nicht ein komplettes HTML-Dokument in einem <div> stopfen können. Wenn Sie ein komplettes Dokument haben, und Sie wollen nur einen Teil davon (etwa ein Block innerhalb eines <div> mit der ID „usefullStuff“ enthalten ist), können Sie dies tun:

$('#targetDivId').load('${your.struts.url} #usefullStuff', function() { 
    // code 
}); 
+0

Vielen Dank. Du hast meinen Montag gerettet :) – LimetreeValley

1

Oder mit Struts2 jQuery Plugin:

<%@ taglib prefix="s" uri="/struts-tags"%> 
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%> 
<html> 
    <head> 
    <sj:head/> 
    </head> 
    <body> 
    <div id="div1">Div 1</div> 
    <s:url id="ajaxTest" value="/AjaxTest.action"/> 

    <sj:a id="link1" href="%{ajaxTest}" targets="div1"> 
     Update Content 
    </sj:a> 
    </body> 
</html>