http-request-Attribute und Parameter, jstl, mit einem servlet

Muss ich tun, einige Validierung der zahlen, die kommen in eine servlet1 aus einem web-Formular. Der Prozess muss so Aussehen:

1.) User sends two numbers (t1 and t2) to servlet1 from a web form  
2.) Servlet 1 validates the numbers by checking:  if (t2-t1)>2 , then t2 = t1 + 2
3.) The validated numbers are actually sent directly back to the jsp  
4.) The end user's browser calls a different servlet2 with the output from this servlet1.  
5.) The end user might repeat this process many times, producing many iterations of customized output  

Aus meiner Forschung, ich glaube, das bedeutet:

a.) setting attributes in servlet1 for t1 and t2 which are sent back to the user's browser with the results of the validation, so that  
b.) numbers with a valid difference (<=2) can then be sent into servlet2.  

Meine Frage hat zu tun mit, wie zu verwalten, der Unterschied zwischen Parametern und Parametern. Ich denke, die Daten, startet die Parameter in der html-Eingabe-Textfelder. Ich habe jstl-code in die Textfelder, um sicherzustellen, dass es gültig ist-Daten. Aber meine jstl genauso funktioniert das mit den Parametern. Nach der ersten Verwendung des web-Formulars durch den Endanwender, ich denke, dass alle nachfolgenden Iterationen werden die Attribute anstelle von Parametern. Kann jemand mir zeigen, wie Sie re-den code schreiben, das die Werte der Attribute und der Parameter, so dass die Daten immer das, was es sein sollte?

So weit, ich habe eine jsp mit einem html-Formular, mit Eingabe-Felder mit dem folgenden format:

<input type="text" name="t1" value="${empty param.t1 ? '-1' : param.t1}" size="15" />  
<input type="text" name="t2" value="${empty param.t2 ? '1' : param.t2}" size="15" />  

Den oben jsp ist der request dispatcher bezeichnet eine servlet1, dessen doPost-Methode beinhaltet so etwas wie die folgenden:

String t1 = request.getParameter("t1");  
String t2 = request.getParameter("t2");  
if(((double)t2-(double)t1)>2){  
    t2 = String.valueOf((double)t1 + 2);  
}  
request.setAttribute("t1", t1);  
request.setAttribute("t2", t2);  

Wie ändere ich diesen code, um die richtige Daten-Werte mit Parametern?

Nie Verstand jetzt, dass ich auch zu überprüfen um zu sehen, dass der Eingang ist eigentlich eine Anzahl, etc.

  • Sie nicht brauchen, verwenden Sie die Attribute für diese.
  • Das ist großartig. Danke. Kannst du mir zeigen, wie es funktionieren könnte, in der Weise, dass Sie im Sinn haben? Die Dinge, die ich gelesen haben, haben darauf hingewiesen, dass ich nicht eingestellten Parameter in das servlet, und damit, dass ich ein Attribut verwenden, wenn ich einstellen will, t2 = (t1 + 2)
InformationsquelleAutor CodeMed | 2013-08-20
Schreibe einen Kommentar