@PathVariable指定请求的URL路径里面的变量

来源:互联网 发布:linux 获取网卡ip 编辑:程序博客网 时间:2024/06/05 08:38

最近在做毕设“基于SSM的购物网站”,商品有很多种分类,我想在点击具体一个时,url发生变化,并动态加载页面上的商品信息。
最终效果:
1.女装 url:http://localhost:8181/SevenShop/product/nvzhuang
这里写图片描述
2.男装 url:http://localhost:8181/SevenShop/product/nanzhuang
这里写图片描述
(这里比较懒,数据库就存了一个男装商品)
实现方法:
@PathVariable指定请求的URL中的变量(值由前台form表单传给后台);
具体代码:
1.Java

    @PostMapping("/{cname}")    public String getProductsByCid(Model m,@PathVariable String cname,String cid){        List<Product> pList = pService.getProductsByCid(Integer.valueOf(cid));        m.addAttribute("pList", pList);        return "product/category";    }

2.JSP

<ul id="products">    <c:forEach items= "${pList}" var="d">        //使用${d.字段名}将所需内容展示出来     </c:forEach>            </ul>
    <div id="ceng" style="display: inline-block;">        <form action="" name="form1" method="post" id="form11">            <input type="hidden" name="cid" value="100" id="cidValue"/>            <input type="hidden" name="cname" value="nvzhuang" id="cnameValue"/>            <a href="" id="100" name="nvzhuang">女装</a>                          <a href="" id="101" name="nanzhuang">男装</a>            ......        </form>    </div>

3.JS

    var cid = $('#cidValue').val();//获取隐藏cidValue中cid值    var cname = $('#cnameValue').val();//获取隐藏cnameValue中cname值    $("#form11 a").click(function(){        //将当前点击的a标签的id值赋给cid        cid = $(this).attr('id');        //将当前点击的a标签的name值赋给cname        cname = $(this).attr('name');        //改变隐藏cidValue,cnameValue的值        $('#cidValue').val(cid);        $('#cnameValue').val(cname);        //为表单的action属性值赋值        $('#form11').attr('action',cname);        //点击当前a标签,提交表单        $(this).attr('href','javascript:document:form11.submit();');    });

总结:
本人较笨,用的方法都较蠢,欢迎指正

0 0
原创粉丝点击