在我的spring应用程序中,我有一个通用控制器类,作为我应用程序中其他几个控制器的基类。这些派生控制器具有以下结构:
@Controller
@RequestMapping(value="usuario")
public class UsuarioController extends controller<Usuario> {
public UsuarioController() {
super(Usuario.class);
}
}
我将从我的应用程序中为每个实体类创建一个。在通用控制器中,每个动作都有两种方法(即:插入,更新,删除,选择)。这两种方法(和通用控制器)都有这种形式:
public class controller<E> {
@Autowired
private service<E> serv;
private final Class<E> entityClass;
@RequestMapping(value="cadastra")
@PreAuthorize("hasPermission(#user, 'cadastra_'+#this.this.name)")
public ModelAndView cadastra() throws InstantiationException, IllegalAccessException {
return new ModelAndView("privado/"+this.entityClass.getName()+"/cadastra", "command", this.entityClass.newInstance());
}
@RequestMapping(value="cadastra", method=RequestMethod.POST)
@ResponseBody
public String cadastra(@ModelAttribute("object") E object, BindingResult result) {
if(serv.cadastra(object))
return "yes";
else
return "not";
}
}
问题是当我运行应用程序并尝试访问此方法映射的视图时,我收到404错误。
任何人都可以在这里说出我做错了什么?
答案 0 :(得分:1)
问题是Spring找不到正确的JSP来转发处理。在审核您的代码后,您似乎需要使用this.entityClass.getName()
this.getName()