难以在Roo生成的项目中添加新视图

时间:2012-12-04 07:24:18

标签: java spring spring-mvc view spring-roo

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

我想要的只是显示一个全新的空页面。但是,当我去“项目/家庭”时,它说“找不到资源”。

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

2 个答案:

答案 0 :(得分:1)

请参阅StackOverflow上的以下问题和答案

Adding a custom page in spring roo

干杯。

答案 1 :(得分:0)

我有一个想法:将HomeController控制器放在包com.demoing.controller中,其他控制器在那里。

我不确切知道,但也许Roo配置Spring只扫描控制器的这个包(和子包)。