0

我已成功配置 Spring Boot 2.0.4 以将 spring-security 与 HDIV 一起使用。我决定使用 jquery datatable 作为表格渲染技术。问题来了...对于我的数据表的每一行,我想创建一个使用 _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);
      })
    }

   ...

  }

谢谢

4

2 回答 2

0

Ok, this solution work fine only with ulrs with pathvariable.

@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 ....
}

Any further help generating valid url with query parameters?

于 2018-09-06T17:50:47.720 回答
0

您可以在控制器中注入 LinkUrlProcessor 类。

@autowired
LinkUrlProcessor linkUrlProcessor;

并调用processUrl方法。

String processedUrl linkUrlProcessor.processUrl(request, originalUrl);

processedUrl包含_HDIV_STATE_参数。

于 2018-09-06T08:05:48.467 回答