Springboot - 来自控制器的调用函数而不是xml文件

时间:2017-08-01 13:27:42

标签: xml spring-boot thymeleaf

我使用Thymeleaf变量和Spring Boot渲染网页。有一个xml文件初始化控制器中的一些函数,允许我使用Thymeleaf渲染变量。

我正在尝试摆脱XML文件并从控制器调用变量但没有成功:/

这是XML文件表达式:

<on-start>
  <evaluate expression="testController.initPage(currentUser.id)"/>
</on-start>

<view-state id="fas" view="folder/webpage" model="model1">
  <on-entry>
    <evaluate expression="testController.initInfo(model1)"/>
  </on-entry>
</view-state>

这是我在控制器中尝试的内容

@RequestMapping(value = "/webpage")
public ModelAndView somewebpage(HttpServletRequest req, @AuthenticationPrincipal User user,
                                RedirectAttributes redir) {
    User theUser = null;
    boolean auth = false;

    if (user == null) {
        theUser = (User) req.getSession().getAttribute("user");
    } else {
        theUser = user;
        auth = true;
    }

    Long userId = theUser.getId();
    if (userId == null) {
        return new ModelAndView("redirect:403");
    }

    initPage(userId);
    Model1 model1 = new Model1();
    initInfo(model1);

    if (authenticated) {
        ModelAndView modelAndView = new ModelAndView("redirect:webpage");
        return modelAndView;
    }
}

1 个答案:

答案 0 :(得分:0)

重定向应为文件夹/网页

ModelAndView modelAndView = new ModelAndView("redirect:/folder/webpage");