1

我正在尝试将我的自定义视图和控制器添加到一个非常基本的 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>

我想要的只是显示一个全新的空白页面。但是,当我转到“项目/主页”时,它会显示“找不到资源”。

我真的不明白我错过了什么,我希望对这些事情有更多经验的人可以帮助我。

4

2 回答 2

1

请在 StackOverflow 上查看以下问答

在 spring roo 中添加自定义页面

干杯。

于 2012-12-04T09:42:57.613 回答
0

我有一个想法:将您的HomeController控制器放入包com.demoing.controller中,其他控制器所在的位置。

我不确切知道,但也许 Roo 将 Spring 配置为仅扫描此包(和子包)以查找控制器。

于 2012-12-04T08:22:19.850 回答