我正在尝试将自定义视图和控制器添加到非常基本的roo生成的项目中。
通过使用Spring Tool Suite(STS,Spring 3.1),我创建了一个新项目,然后运行了以下3个命令:
persistence setup --database MYSQL --provider HIBERNATE --userName *** --password *** --databaseName ***
entity jpa --class com.demoing.domain.Customer --testAutomatically
field string --fieldName firstName --notNull
field string --fieldName lastName --notNull
controller scaffold --class com.demoing.controller.CustomerController --entity com.demoing.domain.Customer
生成这些后,可以在服务器上启动应用程序。
但是,当我添加一个新的.jspx文件(如home.jspx)时,应用程序在转到特定链接时会显示“找不到资源”。我在src / main / webapp / WEB-INF / views / home.jspx中的其他视图旁边添加了jspx
我在views.xml中添加了视图的定义,并手动创建了一个控制器,如下所示:
package com.demoing.domain;
import javax.servlet.http.HttpServletRequest;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@Scope(value = "session")
@RequestMapping("/home")
public class HomeController {
@RequestMapping(produces="text/html")
public String home(HttpServletRequest request, Model uiModel ){
return "home";
}
}
视图定义:
<definition name="home" extends="public">
<put-attribute name="body" value="/WEB-INF/views/home.jspx" />
</definition>
我想要的只是显示一个全新的空页面。但是,当我去“项目/家庭”时,它说“找不到资源”。
我真的不明白我错过了什么,我希望有更多经验的人可以帮助我。
答案 0 :(得分:1)
答案 1 :(得分:0)
我有一个想法:将HomeController
控制器放在包com.demoing.controller
中,其他控制器在那里。
我不确切知道,但也许Roo配置Spring只扫描控制器的这个包(和子包)。