zoukankan      html  css  js  c++  java
  • HTML标签的绝对路径和相对路径

    我在javaweb中写json的Demo的时候遇到了这个问题,图片一一直取不出来,查了好久终于解决了,所以现在记录一下。

    绝对路径:

     其实很容易理解,如果你是一个普通的项目,那就是它在你电脑里真实存在的位置,比如说"F:/img/1.jpg"。而像我是在javaweb中项目中引用,那么绝对路径以你的服务器为基准的(http://localhost:8080)。

     比如我的目录是这样

        

    那么我的绝对路径就是:

    "http://localhost:8080/static/img/4.jpg"

     相对路径:

      顾名思义,就是想对于当前网页的路径。

      上面文件结构图不够全面,再放一张我的jsp页面所在的位置

      

    那么现在我如果在m01.jsp页面使用<img>标签添加img目录下的图片该怎么写呢?

    在写之前我们还要知道 ./和../分别代表的是当前文件所在的目录和当前所在文件的上一级目录,当然我们也可以使用多个../返回多级目录。

    所以我们使用相对路径就可以这样写:

    "../../static/img/1.jpg"//相对于 m01.jsp位于webapp/WEB-INF/views 目录下 来说,1.jpg位于webapp/static/img 目录下,所以我们需要返回两级目录。

    而在javaweb中,相对路径分为两种,一种就是上面的,找资源,以当前的资源所在的路径为基准。另一种是以"/"开头的相对虚拟路径,它代表的是以当前服务器的路径为基准(http://localhost:8080)的。

    所以我们这里相对路径还有另外一种写法:

    "/static/img/3.jpg"

    好了,现在可以看一下我们整个Demo运行的情况吧。

    例子稍稍有点复杂,其实用<img>标签添加图像就可以了,只不过我本来就是测试json的demo就懒得再写了。

    item.json

    [
      {
        "name":"张国立",
        "sex":"男",
        "email":"zhangguoli@123.com",
        "url":"../../static/img/1.jpg"
      },
      {
        "name":"张铁林",
        "sex":"男",
        "email":"zhangtieli@123.com",
        "url":"../../static/img/2.jpg"
      },
      {
        "name":"邓婕",
        "sex":"女",
        "email":"zhenjie@123.com",
        "url":"/static/img/3.jpg"
      },
      {
        "name":"张国立",
        "sex":"男",
        "email":"zhangguoli@123.com",
        "url":"http://localhost:8080/static/img/4.jpg"
      }
    ]

    可以看到这里的url就是我们需要写的相对路径和绝对路径。

    m01.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <script src="${pageContext.request.contextPath}/static/jquery-3.3.1.js"></script>
        <title>Title</title>
        <style type="text/css">
    
            .p1{
                font-size: 14px;
                color: #000;
            }
            .p2{
                font-size: 12px;
                color: #b0b0b0;
            }
            .p3{
                font-size: 14px;
                color: #ff5f19;
            }
            .product{
                100%;
                position: relative;
                margin: 20px 0 5px 0;
                height: 100px;
                background: #fafafa;
            }
    
            .img{
                 100px;
                height: 100px;
                float: left;
                margin-right: 20px;
            }
            .p{
                display:inline-block;
                float:left;
                50%;
                margin-top:6px;
                font-family: Microsoft YaHei;
            }
            .p1{
                margin-top:16px;
            }
        </style>
        <script>
            //页面加载
            $(function(){
                $.ajax({
                    type: "POST",//请求方式
                    url: "${pageContext.request.contextPath}/static/json/item.json",//地址,就是json文件的请求路径
                    dataType: "json",//数据类型可以为 text xml json  script  jsonp
                    success: function(result){
                        debugger;
                        addBox(result);
                    }
                });
            });
            function addBox(result){
                //result是一个集合,所以需要先遍历
                $.each(result,function(index,obj){
                    debugger;
                    $("#box").append("<div class='product'>"+//获得图片地址
                        "<div><img class='img' src="+obj['url']+"></div>"+
                        //获得名字
                        "<div class='p1 p'>"+obj['name']+"</div>"+
                        //获得性别
                        "<div class='p2 p'>"+obj['sex']+"</div>"+
                        //获得邮箱地址
                        "<div class='p3 p'>"+obj['email']+"</div>"+
                        "</div>");
                });
            }
        </script>
    </head>
    <body>
    <div id="box">
    </div>
    </body>
    </html>

      现在可以看到我们的运行结果了 

                             

  • 相关阅读:
    【每日一具12】超级好用的录屏软件,赶紧收藏
    【每日一具12】超级好用的录屏软件,赶紧收藏
    python之K-邻近算法/kNN(附上注解代码)
    数据挖掘领域十大经典算法之—K-邻近算法/kNN(超详细附代码)
    【每日一具11】一款图片文件漂白软件
    python实现全北京的公交路线动图【一定收藏】
    【每日一具11】一款图片文件漂白软件
    一个典型的加了 SAP 注解的 OData 服务明细分析
    如何以 mock server 的方式本地启动 SAP UI5 应用,使它不连接服务器端 OData 服务
    深入掌握 SAP Fiori Elements 工作原理系列之二:如何给 Fiori Elements 应用添加自定义按钮
  • 原文地址:https://www.cnblogs.com/fankailei/p/10071106.html
Copyright © 2011-2022 走看看