2015-02-28 2 views
-1

Вот код:JavaScript не работает после перенаправления страницы JSP .... Любое решение?

<% 
String username = request.getParameter("username"); 
String password = request.getParameter("password"); 
Connection con = null; 
PreparedStatement pstmt = null; 
ResultSet rs = null; 
try 
{ 
    con = DataSource.getInstance().getConnection(); 
    String sql = "select userid,password from users where userid=? and password=?"; 
    pstmt = con.prepareStatement(sql); 
    pstmt.setString(1, username); 
    pstmt.setString(2, password); 
    rs = pstmt.executeQuery(); 
    if(!rs.isBeforeFirst()) 
    { 
     response.sendRedirect("login.jsp"); 
     %> 

     <script type="text/javascript"> 
      var x = document.getElementById("errorbox"); 
      alert(x); 
      x.style.display = "block"; 
      x.innerHTML = "Ooops...User doesn't exist!!"; 
     </script> 
     <% 
    } 
} 
catch(Exception e) 
{ 
    e.printStackTrace(); 
} 
%> 

А вот структура каталогов проекта ..

WebContent 
| 
|---Meta-Inf 
| 
|---resources 
|  |____CSS 
|  |____JS 
|  |____images 
|---Web-Inf 
| 
|-----login.jsp 
|-----verify.jsp 

Ресурсы файл содержит CSS, JS и изображений папки для хранения ресурсов CSS, JavaScript и изображения. Все файлы .jsp находятся в каталоге WebContent.

Когда пользователь не может быть аутентифицирован, я использую sendRedirect («login.jsp»), и на этой странице у меня есть элемент div, свойство отображения которого равно none. Поэтому я хочу использовать JavaScript для установки свойства для отображения: block. Но JavaScript не работает после перенаправления.

ответ

0

Javascript-код привязан к одной веб-странице.

Когда вы отправляете код Javascript в своем примере кода, вы добавляете его на страницу, которую вы в настоящее время строите в JSP, в этом случае это verify.jsp (я полагаю). Затем браузер получает этот код и запрос перенаправить пользователя на login.jsp.

Когда это происходит, страница verify.jsp выгружается, а вместе с ней и код Javascript, который был включен в нее. Если вы хотите, чтобы код Javascript выполнялся на целевой странице, login.jsp, вы должны добавить его на этой странице.

Если вы хотите сохранить проверку и визуализацию страницы входа в к различным файлам, вы должны включать в себя информацию, что предыдущий Войти не удалось, в URL вы перенаправляет на, например:

response.sendRedirect("login.jsp?loginfailed=1"); 

и проверить это в login.jsp:

if (request.getParameter("loginfailed") == "1") { 
    %> 
    <div id="errorbox"> 
     Ooops...User doesn't exist!! 
    </div> 
    <% 
} 
+0

Благодаря Лазаро. Это работает как шарм! Большое спасибо :) –