Comment utiliser javascript dans jsp?

Je veux appeler une fonction javascript qui renvoie une valeur, puis met cette valeur dans une instruction if. Il existe deux boutons radio dans le HTML et les vérifications javascript pour voir lequel est-il cliqué. Après cela, le JSP le compare à «client» ou «société» et fait la requête SQL appropriée.

Javascript:

function corc{ var value; if(document.getElementById('cust').checked){ value='customer'; return value; }else if(document.getElmentById('comp').checked){ value='company'; return value; } } 

JSP:

 if(%>corc();<%.equals("customer")){ String sqlqueryCommand = "SELECT * from customer where login='" + v1 + "' and password='" + v2 + "'"; }else if (%>corc();<%.equals("company")){ String sqlqueryCommand = "SELECT * from company where login='" + v1 + "' and password='" + v2 + "'"; } 

  • Vous ne pouvez pas appeler la fonction JavaScript dans l'instruction if de JSP, car JSP est exécuté sur le côté du serveur et JavaScript est exécuté sur le côté client.

  • Vous devez déclencher un événement lorsque l'un des boutons radio est cliqué, en utilisant l'événement onclick , vous pouvez appeler function corc() .

  • N'écrivez pas les scriptlets dans JSP, car les scriptlets ne devraient pas être utilisés dans les JSP depuis plus d'une décennie. Apprenez le JSP EL , le JSTL , et utilisez la servlet pour le code Java. Comment éviter le code Java dans les fichiers JSP?

Code JSP:

 ....... ........ //use <form> to submit values to servlet <input type="radio" name="radio1" onclick="handleClick(this.id);" id="customerId" /> <input type="radio" name="radio1" onclick="handleClick(this.id);" id="companyId" /> ...... ....... //use hidden field to assign table value ie "customer" or "company". <input type="hidden" name="tableValue" id="tableTextId" /> //</form> closing form tag 

onclick event J'ai assigné la fonction handleClick et this.id passé this.id , le paramètre this.id est utilisé pour passer l'attribut id du bouton radio cliqué.

Code JavaScript:

 <script type="text/javascript"> function handleClick(clickedId) { if(clickedId == "customerId") document.getElementById('tableTextId').value = "customer"; else document.getElementById('tableTextId').value = "company"; } </script> 
  • Lorsque vous soumettez un formulaire, vous pouvez obtenir la valeur du champ caché dans servlet.

String tableName = request.getParameter ("tableValue"); // passe le nom du champ caché ie ​​tableValue

  • Vous pouvez également passer cette tableName à la requête.

Liens connexes

  • Comment transférer des données de JSP vers servlet?
  • Formes en HTML