Spring MVC 提供了一种机制,可以构造和编码URI -- 使用UriComponentsBuilder和UriComponents。

功能相当于 urlencode()函数,对url进行编码, 但同时还支持变量替换

UriComponents uriComponents = UriComponentsBuilder.fromUriString(
"http://example.com/hotels/{hotel}/bookings/{booking}").build(); URI uri = uriComponents.expand("42", "21").encode().toUri();

  

嗯,expand()是用于替换所有的模板变量,encode默认使用UTF8编码。

注意,UriComponents是不可变的,expand()和encode()都是返回新的实例。

你还可以这样做:

UriComponents uriComponents = UriComponentsBuilder.newInstance()
.scheme("http").host("example.com").path("/hotels/{hotel}/bookings/{booking}").build()
.expand("42", "21")
.encode();

  

在Servlet环境中,使用子类ServletUriComponentsBuilder提供的静态工厂方法可以从一个Servlet request中获取有用的URI信息:

HttpServletRequest request = ...

// Re-use host, scheme, port, path and query string
// Replace the "accountId" query param ServletUriComponentsBuilder ucb = ServletUriComponentsBuilder.fromRequest(request)
.replaceQueryParam("accountId", "{id}").build()
.expand("123")
.encode();

  

https://www.cnblogs.com/larryzeal/p/6131664.html

最新文章

  1. Object obj=new Object()的内存引用
  2. 无废话ExtJs 入门教程十九[API的使用]
  3. angularJS的$watch和$apply
  4. VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)
  5. 【解题报告】[动态规划] CodingTrip - 携程编程大赛 (预赛第一场)- 聪明的猴子
  6. MS 数据库存储过程加密解密
  7. MySQL高可用之MHA的搭建 转
  8. 架构设计:负载均衡层设计方案(5)——LVS单节点安装
  9. CentOS 6.5 下载地址
  10. 织梦DEDECMS网站首页如何实现分页翻页
  11. Unity学习笔记(二)——第一个Unity项目Hello Unity
  12. 使用PHPMailer发送带附件并支持HTML内容的邮件
  13. 如何在 FineUIMvc 中引用第三方 JavaScript 库
  14. WPF中实现类智能感知
  15. TCP连接建立系列 — 客户端接收SYNACK和发送ACK
  16. window.print()小知识
  17. vs2013安装及opencv3.0的配置
  18. php首字母 大写 数组去重复
  19. Spring.Net---4、IoC/DI注入方式
  20. 《网蜂A8实战演练》——8.Linux USB 主机控制器和设备驱动

热门文章

  1. 09.Curator临时节点
  2. 170616、解决 java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList
  3. JQueryUI之Autocomplete
  4. Apache配置虚拟主机httpd-vhosts.conf
  5. Python的Flask框架应用调用Redis队列数据的方法
  6. centos shell基础 alias 变量单引号 双引号 history 错误重定向 2>&1 jobs 环境变量 .bash_history source配置文件 nohup & 后台运行 cut,sort,wc ,uniq ,tee ,tr ,split, paste cat> 2.txt <<EOF 通配符 glob模式 发邮件命令mail 2015-4-8 第十二节课
  7. 201-React顶级API
  8. Linux下编译安装PHP扩展redis
  9. Flume+Morphlines实现数据的实时ETL
  10. PAT 1139 First Contact[难][模拟]