在控制器中生成有效的 hdiv url
Generate Valid hdiv url in controller
我已成功配置 Spring Boot 2.0.4 以使用 spring-security with HDIV。
我决定使用 jquery datatable 作为 table 渲染技术。
问题来了...
对于我的数据的每一行table,我想创建一个用 _HDIV_STATE_ 参数签名的详细信息 link 如何在迭代我的项目列表时生成有效的 link控制器?
通用控制器:
@Controller
public class ItemController {
....
@GetMapping(value = "/test")
public @ResponseBody test() {
List<Item> items = service.getList();
items.foreach(item -> {
item.setDetailUrl(HDIV_GENERATED_URL);
})
}
...
}
谢谢
您可以在控制器中注入 LinkUrlProcessor class。
@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 是否有进一步的帮助?
我已成功配置 Spring Boot 2.0.4 以使用 spring-security with HDIV。 我决定使用 jquery datatable 作为 table 渲染技术。 问题来了... 对于我的数据的每一行table,我想创建一个用 _HDIV_STATE_ 参数签名的详细信息 link 如何在迭代我的项目列表时生成有效的 link控制器?
通用控制器:
@Controller
public class ItemController {
....
@GetMapping(value = "/test")
public @ResponseBody test() {
List<Item> items = service.getList();
items.foreach(item -> {
item.setDetailUrl(HDIV_GENERATED_URL);
})
}
...
}
谢谢
您可以在控制器中注入 LinkUrlProcessor class。
@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 是否有进一步的帮助?