V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
creatorYC
V2EX  ›  Java

SpringMVC 的 @PathVariable 注解的问题,求懂的人帮帮忙

  •  
  •   creatorYC ·
    creatorYC · 2016-05-02 23:34:58 +08:00 · 5563 次点击
    这是一个创建于 3156 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近刚在看 SpringMVC ,学着使用了 REST 风格的 URL ,可是使用 @PathVariable 注解时却遇到了一些奇怪的问题: 程序刚启动时我设置了跳转到首页,它的 URL 是 http://localhost:8080/casualsay/homepage ,在我的一个页面上我准备实现分页效果,它是这样的

  • 1
  • ,在 Handler 中有个方法来处理分页请求,方法签名是这样的: @RequestMapping(value="/topics/{page}",method=RequestMethod.GET) public String pagination(@PathVariable("page") Integer page,Map<String, Object> topicList){}

    可是在我点击这个链接时,第一次时浏览器地址栏显示为 http://localhost:8080/casualsay/topics/1 ,这个 URL 好像是正确的,可是页面上所有样式都没了,当我再点击那个分页的链接时,浏览器地址栏的 URL 却成了这样: http://localhost:8080/casualsay/topics/topics/1 ,当我点击页面首页链接时,地址栏成了这样: http://localhost:8080/casualsay/topics/homepage ,好像所有的请求都被这个带 @PathVariable 注解的方法处理了,所有的请求 URL 都被当成了 {page} 这个值,百思不得其解,不知道我哪里写得出了问题,希望懂的前辈们帮帮忙,真的很郁闷!谢谢!

    第 1 条附言  ·  2016-05-03 06:59:29 +08:00
    写了<li></li>标签,被直接解析了。。。
    分页的链接是这样的<a href="tpoics/1">1</a>
    12 条回复    2016-05-03 23:09:41 +08:00
    murmur
        1
    murmur  
       2016-05-03 08:38:47 +08:00
    不懂你说的什么玩意儿 打开调试工具 看一下你的 css 和图片都指向什么位置 是不是相对路径算错了
    misaka19000
        2
    misaka19000  
       2016-05-03 08:41:58 +08:00 via Android
    同意楼上,估计是绝对路径相对路径的问题
    Sharuru
        3
    Sharuru  
       2016-05-03 08:56:10 +08:00 via Android
    第一个问题确定下资源加载位置,第二个问题确定自己的 li 链接拼出来对不对。
    liuzuo
        4
    liuzuo  
       2016-05-03 09:06:54 +08:00 via Android
    为什么返回值是 string
    ooTwToo
        5
    ooTwToo  
       2016-05-03 09:17:54 +08:00 via iPhone
    看看浏览器控制台有木有错误。
    ppwangs
        6
    ppwangs  
       2016-05-03 09:44:36 +08:00
    java web 项目一般页面全部拒绝相对路径,使用绝对路径,注意加 context path
    murmur
        7
    murmur  
       2016-05-03 09:44:58 +08:00
    @liuzuo string 的返回值映射到一个 view 上了 返回 json 要加 ResponseBody 注解
    m8syYID5eaas8hF7
        8
    m8syYID5eaas8hF7  
       2016-05-03 10:10:52 +08:00
    @liuzuo 返回的是要展示的页面的路径
    m8syYID5eaas8hF7
        9
    m8syYID5eaas8hF7  
       2016-05-03 10:20:25 +08:00
    http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-ann-requestmapping-uri-templates-regex
    具体我没试过,你给 page 加一个正则匹配试一下看行不行。

    链接错误的问题的话,你把链接改成<a href="/tpoics/1">1</a>或者<a href="1">1</a>试一下。
    我觉着可能是你的 web.xml 配置错了。。。
    creatorYC
        10
    creatorYC  
    OP
       2016-05-03 11:51:02 +08:00
    @LINEX 可能是,
    @Sharuru 我的意思是在 V2EX 提问题时<li></li>标签被解析了,囧
    @ppwangs 嗯嗯,我改回来试试,路径可能是个原因
    wangcansun
        11
    wangcansun  
       2016-05-03 14:14:23 +08:00
    跳转 是 rest?
    creatorYC
        12
    creatorYC  
    OP
       2016-05-03 23:09:41 +08:00
    @murmur
    @misaka19000 是的,是相对路径和绝对路径的问题,搞得焦头烂额,相对路径和绝对路径需要好好总结一下了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3670 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 04:34 · PVG 12:34 · LAX 20:34 · JFK 23:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.