在jsp中设置会话属性时遇到问题

时间:2016-03-14 17:48:11

标签: java 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

3 个答案:

答案 0 :(得分:2)

将值括在''中。这应该工作

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

答案 1 :(得分:0)

不确定它是否有帮助,但试试这个:

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

看起来你已经得到了第一个字符串“You”所以如果你将整个句子保存在object(String)中可能会更好。

很抱歉把它放在答题部分,因为我还无法发表评论(规则需要50分才能评论)。

答案 2 :(得分:0)

你能添加一个javascript变量并使用它吗?

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

    if(errorMessage != null && errorMessage.length > 0){
        window.alert(errorMessage);
    }
</script>