https://github.com/nutzam/nutz/blob/master/src/org/nutz/mvc/impl/processor/ViewProcessor.java文件第35行
init方法中
if (params[i].isAssignableFrom(ViewModel.class)) {
是不是应该写成:
if (ViewModel.class.isAssignableFrom(params[i])) {
目前这样,它把我的HashMap参数认为是ViewModel了,后果很严重。
@Override
public void init(NutConfig config, ActionInfo ai) throws Throwable {
//需要特别提醒一下使用jsonView,但方法的返回值是String的!!
if("json".equals(ai.getOkView()) && String.class.equals(ai.getMethod().getReturnType())) {
log.warn("Not a good idea : Return String ,and using JsonView!! (Using @Ok(\"raw\") or return map/list/pojo)--> " + Lang.simpleMethodDesc(ai.getMethod()));
}
view = evalView(config, ai, ai.getOkView());
Class<?>[] params = ai.getMethod().getParameterTypes();
for (int i = 0; i < params.length; i++) {
if (params[i].isAssignableFrom(ViewModel.class)) {
index = i;
break;
}
}
if (view instanceof ViewZone)
((ViewZone)view).setIndex(index);
}