如果会话处于活动状态,则显示JSP按钮

如果会话处于活动状态,则显示JSP按钮,jsp,Jsp,我想根据会话是否处于活动状态显示不同的按钮,但在运行时收到错误 以下是我目前掌握的代码: <%if (session == null) { <INPUT TYPE="button" onClick="parent.location='CustomerLogin.jsp'" value="Customer Login"> <INPUT TYPE="button" onClick="parent.location='ManagerLogin.jsp'" value="Man

我想根据会话是否处于活动状态显示不同的按钮,但在运行时收到错误

以下是我目前掌握的代码:

<%if (session == null)
{
<INPUT TYPE="button" onClick="parent.location='CustomerLogin.jsp'" value="Customer Login">

<INPUT TYPE="button" onClick="parent.location='ManagerLogin.jsp'" value="Manager Login">

}
else
{

<INPUT TYPE="button" onClick="parent.location='Logout.jsp'" value="Logout">             
}%>

两个按钮的每个部分都有一个错误,例如输入无法解析为变量,onClick无法解析等

我试图根据会话显示不同的HTML按钮


谢谢。

是的,因为您已经将HTML标记放在JSP Scriptlet中,HTML标记应该放在Scriptlet的外面,我强烈建议不要使用违反设计原则的Scriptlet

下面的语法是正确的:

<%if (session == null){%>
<INPUT TYPE="button" onClick="parent.location='CustomerLogin.jsp'" value="Customer Login">

<INPUT TYPE="button" onClick="parent.location='ManagerLogin.jsp'" value="Manager Login">
<%
}
else
{
%>
<INPUT TYPE="button" onClick="parent.location='Logout.jsp'" value="Logout">             
<%}%>

问题是您需要将HTML保持在scriptlet
块之外

<% if (session == null) { %>

    <INPUT TYPE="button" onClick="parent.location='CustomerLogin.jsp'"
           value="Customer Login">
    <INPUT TYPE="button" onClick="parent.location='ManagerLogin.jsp'"
           value="Manager Login">

<% } else { %>

    <INPUT TYPE="button" onClick="parent.location='Logout.jsp'"
           value="Logout">             

<% } %>


JSP中的scriptlet只封装有效的Java代码。但是,由两个或多个Scriptlet定义的条件块适用于介于它们之间的HTML内容(虽然不是封闭的,但是)。

请说明错误消息的确切内容以及发生的情况。否则,你的问题很可能会以不清楚或离题的方式结束。