Bonjour la communauté !

Je dois pour un travail migrer un ancien code Java (Servlet, JSP etc ...) vers un tout nouveau en utilisant le framework play (excellente découverte par ailleurs).

Dans le "vieux" code, j'appellais un Servlet de cette façon en Javascript (Ext-JS) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
function getTree()
{
var store = Ext.create('Ext.data.TreeStore', 
{
    root: 
    {
        text: 'System',
        id: 'root',
        expanded: true
    },
    proxy: 
    {
        type: 'ajax',
        url: 'TreeServlet',
        extraParams:
        {
            mode:'getChildren'
        },
        reader:
        {
            type:'json',
            root:'result'
        }
    }
});
Et je récupérai cette requête via un Servlet (TreeServlet) en utilisant la méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
protected void service(...)
La question est : Comment me débarrasser de ce Servlet ?

Ce que j'ai déjà fait :
- Dans routes.conf
Code : Sélectionner tout - Visualiser dans une fenêtre à part
GET /tree controllers.Application.makeTree()
- Dans Application.controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
public static Result makeTree(){
        // Que mettre ici ?   
    }
Pour plus de clarté, voici ce qui se passait dans mon TreeServlet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
@WebServlet("/TreeServlet")
public class TreeServlet extends HttpServlet 
{
	/**
         * The log4J logger. See http://logging.apache.org/log4j/1.2/index.html for more info.
         */
	private static Logger log=Logger.getLogger(new Throwable().getStackTrace()[0].getClassName());
 
	private static final long serialVersionUID = 1L;
 
	private MenuManager menuManager;
 
    /**
     * Default constructor. 
     */
    public TreeServlet() 
    {
 
    }
 
    @Override
    public void init() throws ServletException 
    {
    	super.init();
		this.menuManager=MenuManager.getMenuManager();
		if (menuManager==null)
		{
			log.error("Impossible to get the MenuManager in TreeServlet");
			return;
		}
    }
 
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {
		JSONObject resultJson;
		String mode=request.getParameter(Constants.HTTP_MODE);
		String node=request.getParameter(Constants.HTTP_NODE);
		String hash=request.getParameter(Constants.HTTP_HASH);
 
                // Bla bla et création de JSON
     }
Un tout grand merci d'avance à vous