Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

like image 293
LimetreeValley Avatar asked May 21 '10 14:05

LimetreeValley


2 Answers

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
});
like image 101
Pointy Avatar answered Nov 14 '22 19:11

Pointy


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>
like image 1
Johannes Avatar answered Nov 14 '22 19:11

Johannes