2016-03-14 3 views
1

Я пытаюсь установить строку как атрибут сеанса в jsp, как показано ниже.Атрибут сеанса настройки уязвимости в jsp

session.setAttribute("error","You must be logged in to access this page."); 

У меня есть всплывающее окно, которое отображает сообщение в коде ниже.

<input id='error' type='hidden' value=<%=(String)session.getAttribute("error")%>> 
<script> 
    if(document.getElementById('error').value != "null"){ 
     window.alert(document.getElementById('error').value); 
    } 
</script> 

Но когда я проверяю это, всплывающее окно отображает только слово You.

enter image description here

+1

попробовать в другом браузере я думаю, что это может быть проблемой в затмении встроенный браузер – Ramanlfc

+0

Если ответы работали для вас, пожалуйста, вы можете принять его? – ahoxha

ответ

2

заключите значение в ''. Это должно работать

<input id='error' type='hidden' value='<%=(String)session.getAttribute("error")%>'/>

+1

Да, это исправлено спасибо! – Ugluk

0

Не уверен, если это поможет, но попробовать это:

String value = "You must be logged in to access this page."  
session.setAttribute("error", value); 

Кажется, вы уже получаете первую строку «Вы», так что может быть лучше, если бы вы сохранить целое предложение в объекте (String).

Извините за то, что вы положили его в раздел ответов, так как я не могу прокомментировать (нужно 50 пунктов для комментариев по правилам).

0

Не могли бы вы добавить переменную javascript и использовать это вместо этого?

<script> 
    var errorMessage = '<%=(String)session.getAttribute("error")%>'; 

    if(errorMessage != null && errorMessage.length > 0){ 
     window.alert(errorMessage); 
    } 
</script> 
Смежные вопросы