2014-12-28 1 views
0

У меня возникли проблемы с моей функцией onclick для другого JSP.
Я хотел проверить, если атрибут сеанса так же, как Джон или Марк из моего display.jsp, то он будет отображаться на new.jsp с этим именем.
У меня есть login.jsp и успешно работает на display.jsp, где он может отображать имя, используя сеанс в ValidationServlet.
После внедрения кода в display.jsp, я продолжаю запрашивать ресурс() не доступен.
Застрял там уже 3 дня, и теперь его потеряли.
Надеюсь, вы, ребята, можете мне помочь, спасибо заранее.onClick to another JSP не работает

Это мой display.jsp код

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Application</title> 
    </head> 
    <body> 
     <h1>Display</h1> 
     Welcome <b><%=session.getAttribute("name")%></b>, 
     <table border="0"> 
      <tr> 
       <th colspan="3"></th> 
      </tr> 
      <tr> 
       <td> 
        <form action="loan" method="post"> 
         <input type="submit" value="New" onClick="new()"/> 
        </form> 
        <SCRIPT LANGUAGE="JavaScript"> 
         function new(){   
          if (session.getAttribute("name") === "John") { 
           session.setAttribute("name", "John"); 
           document.new.action="new.jsp"; 
          } 
          if (session.getAttribute("name") === "Mark") { 
           session.setAttribute("name", "Mark"); 
           document.new.action="new.jsp"; 
          } else { 
           session.setAttribute("name", null); 
           document.new.action="new.jsp"; 
          } 
          new.submit(); 
         } 
        </SCRIPT> 
       </td> 
       <td colspan="2"></td> 
      </tr> 
     </table> 
    </body> 
</html> 

Это мой new.jsp код

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>Application</title> 
    </head> 
    <body> 
     <h1>New</h1> 
     Hello <b><%=session.getAttribute("name")%></b> 
    </body> 
</html> 
+0

Почти 100% уверен, что у вас есть проблемы с отображением ... Вам необходимо пройти через сервлет, чтобы получить переменные сеанса. – shinjw

+0

Опубликовать полную статистику стека – shinjw

+0

Спасибо за информацию, shinjw. Сейчас он работает xD – user3127380

ответ

0

Я не думаю, что вы можете получить доступ к переменной сеанса из Java Script, поскольку он выполняется на стороне клиента, каков результат для этого фрагмента кода session.getAttribute("name"), вы получаете ожидаемое значение?

В качестве альтернативы вы можете залежных эту ссылку Access session variables in js

+0

Спасибо за информацию, Lovababu. Теперь он работает xD – user3127380

2

Вы получите переменную сессии как beelow:

var firstName='<%= session.getAttribute("name")%>';