Lesen Sie die Formulardaten in der servlet. eingestellten Daten nicht mit der post-Methode und servlet aufgerufen ?q=test1
Hey, ich bin versuchen zu Lesen die Daten des Formulars in ein servlet geschickt, mit der post-Methode. Und das servlet aufgerufen wird, als OnlineExam?q=saveQuestion
. Nun das servlet arbeitet als:
public class OnlineExam extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
if(request.getParameter("q").equals("saveQuestion")){
/*
* Save the question provided with the form as well as save the uploaded file if any.
*/
saveQuestion(request);
}
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
//TODO Auto-generated method stub
// doGet(request, response);
saveQuestion(request);
}
public String saveQuestion(HttpServletRequest request){
System.out.println(request.getParameter("question"));
return "";
}
}
HTML-Formular:
<form action="OnlineExam?q=saveQuestion" method="post">
<fieldset>
<legend>Question</legend>
<textarea class="questionArea" id="question" name="question">Enter Question.</textarea>
<br class="clearFormatting"/>
<input class="optionsInput" value="optionA" name="optionA" onfocus = "clearValues('optionA')" onblur = "setValues('optionA')"/>
<br class="clearFormatting"/>
<input class="optionsInput" value="optionB" name="optionB" onfocus = "clearValues('optionB')" onblur = "setValues('optionB')"/>
<br class="clearFormatting"/>
<input class="optionsInput" value="optionC" name="optionC" onfocus = "clearValues('optionC')" onblur = "setValues('optionC')"/>
<br class="clearFormatting"/>
<input class="optionsInput" value="optionD" name="optionD" onfocus = "clearValues('optionD')" onblur = "setValues('optionD')"/>
<br/>
<input class="optionsInput" value="answer" name="answer" onfocus="clearValues('answer')" onblur="setValues('answer')"/>
<input type="submit" value="Save" />
<input type="reset" value="Cancel" />
<button style="display: none" onclick="return deleteQuestion()" >Delete</button>
</fieldset>
</form>
So kann jeder zeigen, wie die servlet-eigentlich heißt. Ich meine, was ist die Ablaufsteuerung, D. H. wie die Dinge arbeiten in diesem servlet.
Ist und wie könnte ich das gelesen param1 es in der servlet.
ps: ich will nicht auf post-Formular mit der get-Methode.
Hey Ihr alle ich brauche die Art und Weise zu Lesen bekommen, Daten, die von q=savequestion-und post-Daten des Formulars. So wie zu Lesen, die beiden und analysieren Sie?
InformationsquelleAutor vinit | 2011-05-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie sich den Wert von
q
in IhremdoPost
nicht in IhremdoGet
. Weil Siemethod="post"
dann im servlet diedoPost
ist der, der genannt wird, nicht diedoGet
. Entfernen Sie den code in IhremdoGet
dann legen Sie es aufdoPost
. Und SiedoPost
muss etwas wie code unten.InformationsquelleAutor ace
wenn du POST-Daten an servlet.
doPost
erhalten aufgerufen.Innen
doPost()
Sie können auf Anfrage param wieentfernen Aufruf von doGET von doPost , seine nicht zu gebrauchen
kk. aber dann, wie zu Lesen, der Wert param1
wie bereits erwähnt, von doPost. entfernen Sie einfach doGet Aufruf von doPost
Hey ich habe entfernt die doGet Aufruf von doPost aber es ist noch zu zeigen null
InformationsquelleAutor Jigar Joshi
Ist das gelöst ?
Stehe ich vor demselben problem.
Ich habe versucht,
und es zeigt 0 Elemente, so bilden die Daten nicht gelesen werden durch servlet.
Bekam ich die Antwort im anderen thread.
enctype=multipart/form-data
verursacht wurde. Nach dem entfernen aus der form, war in der Lage, Daten zu Lesen.InformationsquelleAutor Mohit Verma
Wenn du auf den "senden" - Schaltfläche auf dem Formular, die doPost-Methode des servlet aufgerufen wird - diese wird bestimmt von der Methode, die Sie setzen auf die "form" in Ihre HTML-Seite. Die URL-Parameter ( q=saveQuestion ) wird weiterhin verfügbar sein, um Ihren code in die doPost-Methode. Sie scheinen unter dem Eindruck, dass die URL-Parameter verarbeitet werden, wird durch die doGet-Methode und die Parameter form, durch die doPost-Methode. Das ist nicht der Fall.
Sind Sie sicher, dass Ihre doPost-Methode aufgerufen wird? Haben Sie versucht, Enumeration paramNames = request.getParameterNames(); while(paramNames.hasMoreElements()) { System.aus.println((String)paramNames.nextElement()); } um zu sehen, was die Parameter sind bis auf das servlet?
InformationsquelleAutor DaveH
Ich weiß, dies ist ein Alter thread, aber konnte nicht finden, eine Antwort auf diese, wenn ich suchte, so bin ich Entsendung meine Lösung für jemanden, der möglicherweise das gleiche Problem mit immer null von form-Parameter in der dopost-Funktion Ihres servlet.
Ich hatte ein ähnliches Problem bekommen null-Werte, wenn mit der Anfrage.getParameters("param1"); - Funktionen. Nach Stunden spielen, um mit ihm merkte ich, dass die param1, war ich mit war die ID für das input-tag ich wurde beantragt. Dass das falsch war. Ich habe das NAME-Attribut von input-tag zu Holen Sie sich die richtigen Wert in das Eingabefeld. Das war alles, was es war. Ich musste nur noch einen Namen hinzuzufügen und Holen Sie sich die parameter mit diesem Namen und, dass das Problem behoben wurde.
Hoffe, das jemand hilft.
InformationsquelleAutor Travis
Vinit versuchen Sie, den untenstehenden code
request.getParameter("param1");
können Sie versuchen, entfernen ?q=saveQuestion #(nur ein Vorschlag nicht ausprobiert).Anstelle von Anhängen in form action geben argument "q" als hidden-Feld im Formular
Nein, ich kann nicht haben, dass tatsächlich servlet ist auch dabei einige andere arbeiten, je nach get-Parameter
InformationsquelleAutor Gnanz
Entfernen/Kommentar
processRequest(request, response)
und versuchen Sie es erneut. Jetzt sollten Sie nicht erhalten null-Werte.Ich habe nicht nach unten Stimmen Sie, ich nur Ihren Beitrag bearbeitet um Sie lesbarer zu machen.
InformationsquelleAutor Milan-SJ