4-1问题 freemarker整合

4-1问题 freemarker整合

问题1:

 <param-value>/WEB-INF/ft1</param-value>

WEB不是在Web content中吗,为什么不加/WebContent//WEB-INF/ft1 阿?

问题2:

当把js-css放到webcontent目录下后, 而ftl文件在 web-inf下的一个文件里,ftl里的路径引用应该+../吧? 直接引用是引用不到的吧。 对js的src引用。和css的src引用;不再同一级目录下阿, ftl在Web-inf下, 和js和cs和web-inf是同级啊,是因为用的绝对路径吧。? 但是绝对路径不从盘符开始吗?直接从js就开始啦?


问题3:<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>

这个js前面为啥不加/阿?加了/就成相对路径了吧 。相对于当前根目录下的,那肯定找不到。必须加../了。对吧 


问题4:

jsp会被null的字符串 输出空白的信息,  freemarker对null的字符串也这样吗,还是会输出null

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿满 2021-03-29 18:04:41

同学你好,如果项目名是fm-web,根目录是指fm-web下的内容。项目发布后,webContent文件夹下的内容都发布到fm-web目录下,所以说webContent相当于根目录。

web项目中的相对路径并不是相对于文件所在的路径,而是相对当前访问路径。

比如说当访问employee.ftl时,访问路径是localhost:8080/fm-web,如:

http://img1.sycdn.imooc.com//climg/6061a49b09137d8011240347.jpg

项目发布后的文件目录结构如下,list(就是指employee.ftl页面)和css,js等在同一个目录下。如:

http://img1.sycdn.imooc.com//climg/6061a48d0927436603110299.jpg

如果按照employee.ftl所在目录的路径是加载css,js,会因为路径错误,加载不到js,css等文件。

祝学习愉快~

  • 提问者 rock221 #1

    是因为list是个文件,而css和js是个目录,不平级,对吧,所以需要把list也放在文件内,这样他们都是目录下的文件了。是平级的。  他们的当前访问路径都是fm-web

    2021-03-29 18:21:28
  • 好帮手慕阿莹 回复 提问者 rock221 #2

    同学你好,list并不是个文件,list是我们去访问servlet中的路径http://img1.sycdn.imooc.com//climg/6061b21c0916959211530520.jpg

    帮同学整理一下,项目发布后,webContent所在的目录是根目录

    如果是以/开头的,则是绝对路径,不是以/ 开头的,则是相对路径

    当是相对路径时:如果之前是从/list转发过去的,则会在写的相对路径前加上/list

     而这个时候,由于实际并没有list这个文件夹,则导致找不到对应的文件。

    如果同学的js文件是在webContent目录下,这里老师可以建议同学这样写,

    <script type="text/javascript" src="/项目名/js/jquery-1.11.1.min.js"></script>

    <script type="text/javascript" src="/项目名/js/bootstrap.js"></script>

    这样就不用考虑是从哪里转发过去的了。

    ​Tips:

    1、eclipse中使用Tomcat发布项目时,默认加上项目名,所以在/js前加上了/项目名

    2、在如果以后使用的是在idea,项目名那里根据applicationContext里写的进行修改。

    http://img1.sycdn.imooc.com//climg/6061b4cf094b95f402940045.jpg

    祝学习愉快。


    2021-03-29 19:10:53
好帮手慕阿满 2021-03-29 16:00:48

同学你好,关于同学的问题,有如下回答:

1、项目发布后,WebContent相当于根目录,所以不需要加上WebContent。

2、如下使用的是相对路径,相对于当前访问路径,

http://img1.sycdn.imooc.com//climg/606185fa09193b6b08490136.jpg

比如说访问employee.ftl时,访问路径是localhost:8080/fm-web/list,

http://img1.sycdn.imooc.com//climg/6061869109b67ece12650362.jpg

相对于当前访问路径加载的css,js等的路径就是localhost:8080/fm-web/css/bootstrat.css,localhost:8080/fm-web/js/bootstrat.js等,路径正确,可以正常加载路径。

可以在浏览器中按F12,点击Sources,查看目录结构,list就是指访问的employee.ftl页面,和css,js在同一级目录下,使用相对路径css/bootstrap.css可以正确加载。如:

http://img1.sycdn.imooc.com//climg/6061888d095bfb2f03100297.jpg


路径前有“/”的是绝对路径。

web项目中的绝对路径不是指从盘符开始的路径,而是从项目根目录开始的路径。

3、加“/”是绝对路径,不加“/”是相对路径。相对路径是指相对于当前访问路径,参考第2条的解释。

4、freemarker中,如果字符串为null,输出时会报错,同学可以自己试一下。

祝学习愉快~

  • 提问者 rock221 #1

    fm-web

    不是相当于根目录吗?

    如下使用的是相对路径,相对于当前访问路径是什么意思阿。? 突然对相对路径晕了。 不就是当前目录下的路径吗。 

    2021-03-29 16:28:39
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师