我正在使用eclipse(spring + mybatis + maven + velocity) mybatis mapper OK,Controller OK,view(tables.vm)OK 但是控制台日志是#set语句的RHS为空。
为什么#set语句的Velocity [debug] RHS为null。上下文将不会被修改。 /WEB-INF/views/velocity/tables.vm [line 6,column 1]
控制器代码
@RequestMapping("/join")
public ModelAndView main(){
ModelAndView mav = new ModelAndView();
mav.setViewName("velocity/tables");
List list = userDaoImpl.getTables();
System.out.println("list : " + list);
mav.addObject("list",list);
return mav;
}
userDaoImpl.getTables OK(获取列表)
tables.vm
<html>
<head>
<title>abc</title>
</head>
<body>
#set ($list = $parameter.list)
$list
<strong>body.<strong>
</body>
</html>
答案 0 :(得分:2)
这是因为您尝试分配的值确实是null
。
如果您确实希望允许为变量分配null
值并删除该日志消息,则应更改Velocity配置中的directive.set.null.allowed
设置。但这并没有解决找不到列表的事实......
我不熟悉Spring的工作方式,但您确定列表应该存储在$parameter
下吗?它不在$list
下吗?尝试在模板中打印$list
进行检查。