在控制器中生成有效的hdiv url
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在控制器中生成有效的hdiv url相关的知识,希望对你有一定的参考价值。
我已成功配置Spring Boot 2.0.4以使用带有HDIV的spring-security。我决定使用jquery数据表作为表格渲染技术。问题出现了...对于我的数据表的每一行,我想创建一个用_HDIV_STATE_参数签名的详细链接,如何在控制器中迭代我的项目列表时生成有效链接?
通用控制器:
@Controller
public class ItemController {
....
@GetMapping(value = "/test")
public @ResponseBody test() {
List<Item> items = service.getList();
items.foreach(item -> {
item.setDetailUrl(HDIV_GENERATED_URL);
})
}
...
}
谢谢
答案
您可以在控制器中注入LinkUrlProcessor类。
@autowired
LinkUrlProcessor linkUrlProcessor;
并调用processUrl
方法。
String processedUrl linkUrlProcessor.processUrl(request, originalUrl);
processedUrl
将包含_HDIV_STATE_
参数。
另一答案
好的,这个解决方案只适用于带路径变量的ulrs。
@Autowired
ServletContext context;
public @ResponseBody String test() {
int id = 1;
LinukUrlProcessor lup = HDIVUtil.getLinkUrlProcessor(context);
RequestContextHolder rch =HDIVUtil.getRequestContext(context);
//This works perfectly
String processedWithPath = lup.processUrl(rch, "/test" + id);
//This produce a _HVID_STATE_ but query param always 0
String processedWithQuery = lup.processUrl(rch, "/test?id=" + id);
return ....
}
有任何进一步帮助生成带有查询参数的有效URL吗?
以上是关于在控制器中生成有效的hdiv url的主要内容,如果未能解决你的问题,请参考以下文章
使用在另一个片段(NPE)中生成的值设置片段的 TextView [重复]
如何在 Python 中生成 Azure blob SAS URL?
如何在 Zend Framework 中生成用于重置密码的随机密码或临时 URL?
编写一个关于Java Bean类url,包括:name(名称)site(官网)和property(性质)等属性。在控制器方法中生成一组Url,并在页面中返回。