JSTL 的 if else : 有 c:if 没有 else 的处理

jstl的c:if 没有else
 
想要实现if...else...:
 
 
可以用下面的解决
 
--------------------------------------------------------------------
 
结构:
 
<c:choose>
 
   <c:when test="">    如果
   </c:when>
   
   <c:otherwise>  否则
   </c:otherwise>
  
</c:choose>
 
 
代码:
 
<c:choose>
    <c:when test="${sessionScope.USERTYPE == 'inner'}">
      <c:set value="${context_root}/igmgr/MEB004.dow" var="action" scope="page"/>
    </c:when>
    <c:when test="${sessionScope.USERTYPE == 'merc'}">
      <c:set value="${context_root}/igmgr/MEB021.dow" var="action" scope="page"/>
    </c:when>  
   <c:otherwise>  
      <c:set value="${context_root}/igmgr/MEB020.dow" var="action" scope="page"/>
   </c:otherwise>
  </c:choose>
 
**************************************************
在jsp页面中怎样用java语句或者EL表达式获得项目的完整路径?
发表于: 2009-05-09 15:29:05
在jsp页面中怎样用java语句或者EL表达式获得项目的完整路径?
比如项目的名称是:Hello
怎样用java语句或者EL表达式获得项目的完整路径是:http://localhost:8080/Hello
 
回复于: 2009-05-09 15:44:49
${pageContext.request.contextPath}
 
 
两种方式
1.
EL表达式
${pageContext.request.scheme}${'://'}${pageContext.request.serverName}${':'}${pageContext.request.serverPort}${pageContext.request.contextPath}
2.
java小脚本
<%=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath() %>
 
 
在eclipse中新建一个jsp页面,会自动生成如下代码:
<%@ page language="java" import="java.util.*" %>
<%@ page  contentType="text/html; charset=GB2312" %>
 
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
 
 
********************************************************
request.getContextPath()用el表达式怎么写,绝对路径:request.getRealPath
 
    <%=request.getContextPath()%>是解决相对路径的问题,可返回站点的根路径。   
    <a href="<%=request.getContextPath()%>/XXX.jsp"> //这样获得的是绝对路径  
    <a href="XXX.jsp" mce_href="XXX.jsp"> //这样获得的是相对路径  
    <a href="<%=request.getContextPath()%>/XXXX.jsp"> 能够更有效的防治连接的失效。  
    request.getContextPath()得到的是项目的名字,如果项目为根目录,则得到一个"",即空的字条串, 如果项目为dzjc, <%=request.getContextPath()% >/ 将得到dzjc/,服务器端的路径则会自动加上, <a href="XXX.jsp" mce_href="XXX.jsp"> 应该就是指当前路径下的这个xxx.jsp页面,有时候也可以在head里设置html:base 来解决路径的问题,不过用的最多的还是request.getContextPath。  
      
    用EL来表示相同功能的EL为:${pageContext.request.contextPath}  
    request.getScheme();  
    返回的协议名称,默认是http  
    request.getServerName()  
    返回的是你浏览器中显示的主机名  
    getServerPort()  
    获取服务器端口号  
    如果想得到工程文件的实际物理路径,可通过:<%=request.getRealPath("/")%>,这样页面就会输出:d:/web 
      
       
      
    现在request.getRealPath("") 这个方法已经不推荐使用了  
    可以使用  
    ServletContext.getRealPath(java.lang.String) instead. request.getSession().getServletContext().getRealPath() 得到工程文件的实际物理路径,也就是绝对地址  
原文地址:https://www.cnblogs.com/huapox/p/3516105.html