WebUrlRouting 的问题

Jmix 在处理路由的时候有一个很奇怪的行为,它处理请求路由的时候仅仅处理 raw fragment。

    @Override
    public NavigationState getState() {
        ......
        return urlTools.parseState(Page.getCurrent().getLocation().getRawFragment());
    }

但是大部分 UrlBuilder 都会把 fragment 放在 query 的后面,比如:

http://192.168.100.187:8090/?id=1&labels=#/childJobManagement

这是个 bug 还是有什么特殊考虑?
这导致 UrlBuilder 构建的 url 不能使用,会丢失 query 信息。

你好,Jmix 中推荐使用 URL 路由生成器 :: Jmix 文档

我看了看源码,UrlTools 在处理 URL 的时候, 会用到几个正则匹配,应该是 Fragment 在前面,query 在后面。

问题是在非 Jmix 项目里面跳转访问 Jmix 的 ,比如用 iframe,就会比较麻烦,直接用那些 UrlBuilder (spring 之类的)就会有问题,需要自己手写 url 的拼接操作。