Restful风格参数


通常get方式参数传递,我们使用的是?后面接参数名和参数值,现在Restful可以简化参数格式。。。。

get方式:

<a href="Test?uid=111&uname=aaa">走你</a>

Restful:

<a href="Test/111/aaa">走你</a>

后台接收:

原先:

@RequestMapping("Test")
public String Test(int uid,String uname){
  System.ou,println(uid+" "+uname);
  return "test.html";
}

Restful(使用@PathVariable):

@RequestMapping("Test/{uid}/{uname}")
public String Test(@PathVariable("uid") int id,@PathVariable String uname){
  System.ou,println(id+" "+uname);
  return "/test.html";
}

@RequestMapping中的格式必须和前端请求发送的数据格式一致,至于{}中的键名则自定义即可,@PathVariable是获取@RequestMapping中的内容,如果你在@PathVariable后面的()不指定键值,那么@PathVariable默认到@RequestMapping中找

 

补充:使用Restful风格进行传参的话,返回视图的路径必须加上“/”,如果在项目中大量使用Restful风格,那么可以在springmvc的配置文件中配置视图解析器,这样可以省略“/”。

<!-- 配置视图解析器 -->
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/" />
        <property name="suffix" value=".html" />
    </bean>    
/*4、Restful风格参数*/
    @RequestMapping("demo4/{qname}/{qpass}")
    public String demo4(@PathVariable("qname") String name,@PathVariable("qpass") int pass)
    {
        System.out.println("执行控制器中的demo4");
        System.out.println(name+" "+pass);
        return "test";
    }

 想要解析html必须放行静态资源

<!-- 放行静态资源 -->
    <mvc:resources location="/" mapping="/index.html"></mvc:resources>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM