2011-01-06 11 views
0

wenn ich versuche, auf eine JSP-Variable in Javascript zuzugreifen, bekomme ich es immer als null. Warum ist das so? Wie bekomme ich den tatsächlichen JSP-Variablenwert in Javascript? hier ist mein Codejavascript und jsp

<%! String oldpassword; %> 
<html> 
    <head> 
    <script type="text/javascript"> 
     function redirect() 
     { 
     var oldpassword_actual="<%= oldpassword %>"; 
     var oldpassword_entered=document.form.oldpassword.value; 
     var newpassword=document.form.newpassword.value; 
     var reenterpassword=document.form.confirmpassword.value; 

     alert(oldpassword_actual); 
     alert(oldpassword_entered); 
     alert(newpassword); 
     alert(reenterpassword); 
     return false; 
     } 
    </script> 
    </head> 
    <body align="center"> 
    <form name="form" action="" method="post"> 
      Enter old password<input type="password" name="oldpassword"></br></br> 
      Enter new password<input type="password" name="newpassword"></br></br> 
      Reenter new password<input type="password" name="confirmpassword"></br></br> 
     <% 
     oldpassword=(String)session.getAttribute("Password"); 
     %> 
      <input type="submit" name="confirm" value="Confirm" onclick="return redirect()"> 
    </form> 
    </body> 
</html> 

, wenn die Warnmeldung erscheint up..it für die jsp Variable einen Nullwert gibt ..

Antwort

2

Das liegt daran, dass die JSP-Variable als JavaScript-Variable gedruckt wurde fore das Formular wird übermittelt.

Kurze Erklärung: JSP läuft auf Webserver, produziert HTML/CSS/JS, Webserver sendet es an Webbrowser, HTML/CSS/JS läuft unter Webbrowser. Lange Erklärung: communication between Java/JSP and JavaScript.

Lösung: Ersetzen Sie JavaScript durch eine Java Servlet. JavaScript ist nicht das richtige Werkzeug für die Bearbeitung von Anfragen.

+0

wie gehe ich dann zur Lösung dieses Problems ??? – nikhil

+0

Erfahren Sie Servlets. Klicken Sie auf den Link im letzten Absatz. Dies wurde Ihnen empfohlen [vorher] (http://stackoverflow.com/questions/4412758/pass-data-from-one-jsp-page-to-another-jsp-page). Sie kriechen gerade auf dem falschen Weg, um zu laufen, bevor Sie gehen können. Tu das nicht, du würdest nirgendwohin enden. Erlernen Sie die grundlegenden Konzepte der Web-Entwicklung und JSP/Servlet richtig. – BalusC

+0

ya ich weiß, ich bin auf der falschen Spur kriechen, aber ich habe eine sehr kurze Zeit, um mein Projekt zu meinem Professor einzureichen. – nikhil

0

Sie müssen sich bewegen:

<% 
    oldpassword=(String)session.getAttribute("Password"); 
    %> 

Zum Seitenanfang Dein Code (oder irgendwo über der Zeile: var oldpassword_actual = "<% = oldpassword%>";)