我使用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;
}
}
答案 0 :(得分:0)
重定向应为文件夹/网页
ModelAndView modelAndView = new ModelAndView("redirect:/folder/webpage");