LimetreeValley
LimetreeValley

Reputation: 64

Load a Struts 2 action using jquery in javascript

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

Upvotes: 5

Views: 6167

Answers (2)

Johannes
Johannes

Reputation: 2070

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>

Upvotes: 1

Pointy
Pointy

Reputation: 413737

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
});

Upvotes: 7

Related Questions