如果jsp中有条件,则在里面定义变量

时间:2015-01-09 12:16:58

标签: java jsp el

我使用follow传递一个从servlet到jsp的值,返回Integer Value ..

        HttpSession session = request.getSession();
        session.setAttribute(USER_OFFICE, user.getOffice().getId());

我可以在jsp中获得此值

        <%=session.getAttribute("USER_OFFICE")%>

现在我需要根据USER_OFFICE值

在jsp中显示一些文本
"Hello Police" 

如果USER_OFFICE值为1

"Hello Doctor" 

如果USER_OFFICE值为2

"Hello Engineer" 

如果USER_OFFICE值为3

3 个答案:

答案 0 :(得分:2)

尝试EL&amp;标记库:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:choose>
    <c:when test="${1 eq USER_OFFICE}">
       Hello Police
    </c:when>
    <c:when test="${2 eq USER_OFFICE}">
        Hello Doctor
    </c:when>
    <c:otherwise>
        Hello Engineer
    </c:otherwise>
</c:choose>

没有taglib的OR:

${1 eq USER_OFFICE ? "Hello Police" : (2 eq USER_OFFICE ? "Hello Doctor" : "Hello Engineer")}

答案 1 :(得分:1)

<%

String userOffice= session.getAttribute("USER_OFFICE")

if(userOffice.equals("1")){
   out.print("Hello Police")
}else if(userOffice.equals("2")){
  out.print("Hello Doctor")
}else if(userOffice.equals("3")){
  out.print("Hello Engineer")
}

%>

通过这种方式,您可以在JSP页面中编写scriptlet。

答案 2 :(得分:0)

您可以使用scriptlet代码。

<%
    String value = session.getAttribute("USER_OFFICE");
    if(value.equals(1)){
           out.print("Hello Police");
    }else if(value.equals("2")){
           out.print("Hello Police");
    }else if(value.equals("3")){
           out.print("Hello Engineer");
    }

%>

P.S。你提到过1,2和3,我之前没有看到过。