zoukankan      html  css  js  c++  java
  • 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() 得到工程文件的实际物理路径,也就是绝对地址  
  • 相关阅读:
    [daily][dpdk] 内核模块(网卡驱动)无法卸载
    [development][tcp/ip][ids] 一个简单有参考价值的库 libnids
    [development][http][libhtp] suricata的http库--libhtp
    [skill][http] http管道化连接
    [skill][telnet] 用telnet获取一个网页
    [daily][grub2] grub2修改内核选项
    [knowledge] big data things
    [knowledge][dpdk] open data plane
    [daily] docker
    [knowledge] 停止等待协议
  • 原文地址:https://www.cnblogs.com/huapox/p/3516105.html
Copyright © 2011-2022 走看看