spring应用程序无法找到映射视图

时间:2014-06-15 14:02:18

标签: java spring spring-mvc generics

在我的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错误。

任何人都可以在这里说出我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题是Spring找不到正确的JSP来转发处理。在审核您的代码后,您似乎需要使用this.entityClass.getName()

更改this.getName()