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) :
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
protected void service(...)
La question est : Comment me débarrasser de ce Servlet ?
Ce que j'ai déjà fait :
- Dans routes.conf
GET /tree controllers.Application.makeTree()
- Dans Application.controller
1 2 3
| public static Result makeTree(){
// Que mettre ici ?
} |
Pour plus de clarté, voici ce qui se passait dans mon TreeServlet :
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
Partager