Vous avez posé des questions sur l'idée conceptuelle d'une solution possible. J'essaie de décrire brièvement une manière possible. Comment je pourrais comprendre de votre question précédente, vous êtes un débutant en JavaScript et jQuery. Donc, j'essaie d'écrire simple et clair décrire l'arcitectur de la solution.
Votre application Web peut être constituée de pages HTML ou XHTML pures (sans pages JSP) avec des fichiers Javascript chargés et démarrés <script type="text/javascript" src="..."></script>
. Vous placez le balisage HTML/XHTML dans vos fichiers * .htm et la définition de jqGrid dans les fichiers * .js.
jqGrid a trois paramètres importants mtype
qui sont généralement "GET" ou "POST", datatype
withe les valeurs comme "xml" ou "JSON" et le paramètre url
. Ces trois paramètres défine comment la grille sera remplie. Il y a aussi editurl
cwich sont utilisés pour les opérations CRUD. Vous pouvez donc implémenter une servlet en Java (voir How to learn AJAX using jQuery in a Java web app par exemple) qui pourrait être le seul composant actif de votre solution lié à l'URL définie par url
et editurl
et supporter HTTP GET ou POST dependent de votre choix mtype
. Il fonctionnera comme un service web qui fournira les données pour les jqGrids et implémentera toutes les opérations CRUD. JqGrid enverra au servlet certains paramètres standard.
Les noms de ces paramètres d'entrée de la servlet que vous pouvez modifier avec le paramètre prmNames
de jqGrid (voir http://www.trirand.com/jqgridwiki/doku.php?id=wiki:options). Les paramètres les plus importants de la méthode servlet sont int page, int rows, string sidx, string sord
. Les paramètres supplémentaires peuvent également être bool _search, string searchField, string searchOper, string searchString
si vous souhaitez utiliser single searching dans le jqGrid ou bool _search, string filters
dans le cas de advanced searching. Donc l'utilisateur clique sur le bouton jqGrid "next page" ou clique sur l'en-tête de la colonne grids pour trier les données, ton servlet sera appelé par jqGrid avec les valeurs correspondantes des paramètres imput.
De la manière dont vous avez une structure claire de votre solution. Je ne suis pas sûr que vous aurez besoin de DWR. Essayez simplement de trouver comment utiliser jQuery.ajax
pour appeler vos servlets Java. Si vous avez des problèmes avec implémenté la même technique à l'intérieur de jqGrid, vous pouvez personnaliser les requêtes jQuery.ajax qui seront envoyées par jqGrid avec le paramètre jqGrid ajaxGridOptions
. Vous pouvez également utiliser l'événement serializeGridData
de jqGrid (voir http://www.trirand.com/jqgridwiki/doku.php?id=wiki:events#list_of_events) pour implémenter toute conevrsion de données avant que les données ne soient transmises au servlet et utiliser jsonReader ou xmlReader (voir http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data) qui définissent comment les données renvoyées par le serveur doivent être lues par jqGrid .
Personne ne sait ... Dans Stackoverflow ... !! ??? –