2017-10-10 1 views
0

Je souhaite créer un formulaire dans lequel, avec la valeur d'entrée, je souhaite également envoyer une valeur de JSP à servlet avec la méthode setAttribute().setAttribute dans JSP et obtenir cet attribut dans le servlet

Exemple

demo1.jsp

<form method="POST" action="DEMO1"> 
<% request.setAttribute("value",1); %> 
<input type="submit" value="Add" /> 
</form> 

DEMO1

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{ 
    PrintWriter pw=response.getWriter(); 
    pw.println(request.getAttribute("value")); 
} 

Il imprime une valeur nulle quand je l'habitude de poster ma page. Y at-il un processus où je peux accéder à la valeur setAttribute() à jsp dans le servlet.

Répondre

1

Vous devez comprendre la séquence de traitement ici. Lorsque vous faites request.setAttribute("value",1);, il vous suffit de définir l'attribut value sur l'objet de requête en cours qui cesse d'exister dès que vous renvoyez le formulaire HTML à l'utilisateur. Lorsque l'utilisateur soumet le formulaire, il n'y a aucun attribut appelé "valeur" dans le formulaire. Ainsi, lorsque votre servlet tente de le récupérer à partir de l'objet de requête, il est renvoyé comme nul, car il n'existe pas.

Utilisez une entrée masquée pour stocker la valeur que vous souhaitez que votre serveur reçoive lors de la soumission du formulaire.

<input type="hidden" name="value" value="1" />

Ainsi, votre démonstration JSP ressemblera à ce qui suit:

<form method="POST" action="DEMO1"> 
    <input type="hidden" name="value" value="1" /> 
    <input type="submit" value="Add" /> 
</form> 
+0

est-il pas possible d'accéder à cette valeur ... –

+0

Merci. mais j'ai encore du mal à comprendre pourquoi la valeur à l'intérieur du texte ou cachée présente après que nous publions la page et pourquoi le setAttribute() est incapable de le faire. et comment fonctionne la portée de la requête. Voulez-vous m'expliquer s'il vous plaît ... besoin d'aide. –

+0

Tout attribut d'entrée figurant sur le formulaire qui n'est pas désactivé est soumis avec le formulaire. Les attributs sont automatiquement renseignés dans l'objet 'request' avec la clé en tant que 'name' de l'attribut et la valeur en tant que' value' de l'attribut. – VHS