开发者社区> 问答> 正文

请求增加参数时,获取样式文件和js文件时,请求路径会自动添加controller?400报错

请求增加参数时,获取样式文件和js文件时,请求路径会自动添加controllerkey? 400 报错

@JFinal 你好,想跟你请教个问题:在我在请求后面增加参数的时候,返回的页面在加载资源文件时会自动添上controllerkey

具体是这样的:当我的请求为:http://localhost:8088/home/backHome

加载资源文件时为:http://localhost:8088/assets/js/jquery.min.js

在原来的请求上添加一个参数:http://localhost:8088/home/backHome/10

加载资源文件为:http://localhost:8088/home/assets/js/jquery.min.js

他会保留原来的controllerkey,这个要怎么解决?

展开
收起
爱吃鱼的程序员 2020-06-03 14:44:23 886 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

        在资源 url 中使用绝对路径,而非相对路径,绝对路径要么是以 "/" 打头,要么是以 http 或 https 打头,如:

    <img src="/assets/js/jquery.min.js" />
    <img src="http://abc.com/assets/js/jquery.min.js" />

        特别注意,这个问题与 jfinal 无关,java web项目本身就是这样,即资源使用相对路径时会自动填充基础路径,基础路径与你当前请求的 url 有关

    ######

    引用来自“JFinal”的评论

        在资源 url 中使用绝对路径,而非相对路径,绝对路径要么是以 "/" 打头,要么是以 http 或 https 打头,如:

    <img src="/assets/js/jquery.min.js" />
    <img src="http://abc.com/assets/js/jquery.min.js" />

        特别注意,这个问题与 jfinal 无关,java web项目本身就是这样,即资源使用相对路径时会自动填充基础路径,基础路径与你当前请求的 url 有关

    真是太感谢了,以前一直没注意,都是用相对路径的######

    项目当中出现url的地方,我都是使用绝对路径的 添加 ContextPathHandler后,模板中url附近全部都是 标签,因为不是所有的浏览器都支持这个标签


    ######这是一种比较稳妥的解决方案,只不过要以很多地方添加 ${CONTEXT_PATH} 增加了不少代码量,还是建议将 context path 设置为 "",这样最省事
    2020-06-03 16:44:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载