Comment puis-je vérifier jsp formulaire de demande de présenter dans la même page jsp? (enctype=“multipart/form-data”)
<%
..... code to check request is submitted or not ...
%>
<form method="post" action="" name="uploadform" enctype="multipart/form-data">
<table >
<tr>
<td>Select up to 3 files to upload</td>
</tr>
<tr>
<td>
<input type="hidden" name="newFileName" value="newUploadedFileName1">
<input type="file" name="uploadfile" >
</td>
</tr>
<tr>
<td align="center">
<input type="submit" name="Submit" value="Upload">
<input type="reset" name="Reset" value="Cancel">
</td>
</tr>
</table>
</form>
La jsp post de demande de code pour télécharger les fichiers seront dans la même page dans <% .. %> tag.
Comment puis-je ajouter une case avec une instruction if pour vérifier si le bouton "Soumettre" est cliqué ou non , en d'autres termes, si une requête post est envoyé ou non.
J'ai suivi ce , http://www.java2s.com/Code/Java/JSP/SubmittingCheckBoxes.htm mais il n'a pas d'aide, et c'est pour appeler un autre fichier jsp ("formAction.jsp") ne sont pas dans la même page .
if(request.getParameter("newFileName") != null) {
Cette déclaration donne toujours la valeur null. Je ne sais pas pourquoi.
Remarque: c'est un formulaire avec cet attribut => enctype="multipart/form-data"
Si je ne rajoute pas si l'énoncé, puis les fichiers sont téléchargés pour la première fois , mais la prochaine fois, si je clique sur le bouton recharger ou actualiser la page , le navigateur me demande de renvoyer les données ou de reupload les fichiers précédents . J'espère que vous avez compris le problème. Si il n'y a aucune confusion de comprendre le problème, s'il vous plaît commentaire .
Quelqu'un peut-il donner quelques indices/solution ?
OriginalL'auteur shibly | 2011-08-09
Vous devez vous connecter pour publier un commentaire.
Lors de l'utilisation de
multipart/form-data
, la demande a été envoyée dans un encodage différent de la normeapplication/x-www-form-urlencoded
encodage qui legetParameter()
et consorts est en s'appuyant sur. C'est pourquoi ils retournent tousnull
. Vous devez analyser lesmultipart/form-data
demande en objets sensibles avant d'être en mesure de déterminer les valeurs soumises. Pour qui, normalement, Apache Commons FileUpload ourequest.getParts()
est utilisé. Pour plus de détails, consultez cette réponse.Alternativement, vous pouvez également vérifier la méthode de la requête. Une requête normale (lien, signet, etc) est toujours à l'OBTENIR. La soumission d'un formulaire à télécharger le fichier est toujours en POSTE.
Mais cela ne fait pas de proférer des sens à l'intérieur d'une JSP. L'écriture brute de code Java dans un fichier JSP est la recette pour l'entretien de la difficulté. Plutôt soumettre le formulaire pour un fullworthy servlet et de mettre en œuvre la
doPost()
méthode. Dans une servlet, vous avez tous la liberté d'écrire du code Java sans prendre tout ce que HTML en compte.OriginalL'auteur BalusC