I'm trying to reload a target div from a javascript by using jquery to target the div and a struts action that loads the content.
Does anyone know how to do this? The problem is how I use (javascript) jquery to do this.
BR, Tobias
The simplest thing to do is use the jQuery .load()
function.
$('#targetDivId').load('${your.struts.url}', function() {
// stuff to do when the div has been reloaded
});
Now understand that you should make sure that the response from your action is a page that's not really a complete HTML page, because you can't stuff a complete HTML document inside a <div>
. If you have a complete document, and you only want a portion of it (say, a block contained within a <div>
with id "usefullStuff"), you can do this:
$('#targetDivId').load('${your.struts.url} #usefullStuff', function() {
// code
});
Or with 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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With