Pouvez-vous appeler un servlet avec un lien? Par exemple et éventuellement passer des paramètres à l'objet de la requête en les ajoutant au QueryString. P> Si non, j'ai vu ce genre de chose: P> RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(/MyServlet);
dispatcher.include(request,response);
3 Réponses :
<a href="servletUrl?param=value">click</a> is perfectly legal and will work.That will make the doGet(..) method of the servlet be called, and you can get the parameter using request.getParameter("param")
... qui appellera spécifiquement doket () code>.
@Ankur: Ce n'est certainement pas un navigateur. Le problème se situe probablement dans le code HTML / JS ou une page mise en cache dans le navigateur (CTRL + F5 ou redémarrage).
Dopost est déclenché si vous postez un formulaire à l'URL
Peut-être que ce qui suit est ce que vous êtes après:
juste pour effacer une idée fausse:
Autant que je sache, vous ne pouvez pas appeler le code Java avec des événements JavaScript. P> blockQuote>
Vous pouvez parfaitement appeler le code Java avec le code JavaScript (et les événements). Au point, il vous suffit de laisser Javascript envoyer une demande HTTP complète au serveur. Il y a essentiellement 3 façons pour cela. P>
Le premier moyen est de simuler une invocation d'un lien / bouton / formulaire existant. E.g. P>
<script type="text/javascript"> function getUrl(search) { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4) { var responseJson = eval('(' + xhr.responseText + ')'); var url = responseJson.responseData.results[0].unescapedUrl; var link = document.getElementById('linkId'); link.href = link.firstChild.nodeValue = url; link.onclick = null; } } var google = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=' xhr.open('GET', google + search, true); xhr.send(null); } </script> <p>My homepage is located at: <a id="linkId" href="#" onclick="getUrl('balusc')">click me!</a></p>La deuxième façon est d'utiliser la fenêtre.Location pour tirer une demande de get Web. Par exemple: p>
<form id="formId" action="http://www.google.com/search"> <input type="text" id="inputId" name="q"> </form> <script type="text/javascript"> document.getElementById('inputId').value = 'balusc'; document.getElementById('formId').submit(); </script>La troisième voie consiste à utiliser l'objet XMLHTTPRequest pour déclencher une demande asynchrone et traiter les résultats. Cette technique est l'idée de base de "Ajax". Voici un exemple compatible Firefox: P>
<a id="linkId" href="http://www.google.com/search?q=balusc">Link</a> <script type="text/javascript"> document.getElementById('linkId').click(); </script>
Pour clarifier davantage la mauvaise idée - vous ne pouvez pas appeler Java de JavaScript, mais vous pouvez appeler une URL qui entraîne finalement le code Java étant exécuté. La différence est subtile, mais importante à comprendre.