In this tutorial I am going to give an overview of Seam 3 Remoting module and give a simple example of how to use it.
Dependency:
Seam Conversation module
The basic idea behind Seam remoting module is to give a developer a tool to work with his Beans without using a JSF actionListeners or something else. Everything is made in background by AJAX. All you need is to execute a JavaScript Function like the following one:
Seam.createBean('myBean').myMethod(arguments,callbackFunction);
Basically you are creating an "instance" of your object on the client side and executing its methods via AJAX.
So lets see an example of how can we use Seam 3 Remoting:
1. Configuration
Put Seam libraries into your project we will definitely need seam-remoting.jar and seam-conversation.jar.
2. Server side:
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import org.jboss.seam.remoting.annotations.WebRemote;
@Named
@RequestScoped
public class TestBean {
@WebMethod // Enables this method for use in client side
public String sayHello(String name) {
return "Hello, " + name;
}
}
Nothing else is needed on server side.2. Client side:You have to add needed .JS libraries into your view:
<script type="text/javascript" src="seam/resource/remoting/resource/remote.js?compress=false"></script> // core remoting library
<script type="text/javascript" src="seam/resource/remoting/interface.js?testBean"></script>// your Bean instanceAlso you can also write interface.js?yourFirstBean&yourSecondBeanNext you can make use of Seam Remoting:3. Usage:function sayHello() {var name = prompt("Please enter your name:");Seam.createBean('myBean').myMethod(name,callbackFunction);}function callbackFunction(result) {alert(result);}
Best regards,NETLink community member