Spring Roo的发现者无法工作

时间:2016-01-10 11:25:59

标签: spring-roo gvnix

我正在慢慢地尝试学习Spring Roo但是在为我的应用程序生成查找程序时已经失败了。在浏览器上呈现时生成的菜单显示查找器(链接)的存在,但是在单击链接时,我立即得到错误

 HTTP Status 400 - Required Integer parameter 'population' is not present

type Status report

message Required Integer parameter 'population' is not present

description The request sent by the client was syntactically incorrect.

我尝试了gvNIX 1.4.0.RELEASE - Roo 1.3.1.RELEASE [rev 8cb81a3]和普通Roo 1.3.1.RC1(没有gvnix插件)。

从数据库结束我使用postgres 9.3。我的数据库脚本重新创建问题:

CREATE DATABASE world;    

CREATE TABLE city
(
  id integer NOT NULL,
  name text NOT NULL,
  countrycode character(3) NOT NULL,
  district text NOT NULL,
  population integer NOT NULL,
  CONSTRAINT city_pkey PRIMARY KEY (id)
);

CREATE TABLE country
(
  id integer NOT NULL DEFAULT nextval('hibernate_sequence'::regclass),
  code character(3) NOT NULL,
  name text NOT NULL,
  continent text NOT NULL,
  region text NOT NULL,
  surfacearea real NOT NULL,
  indepyear smallint,
  population integer NOT NULL,
  lifeexpectancy real,
  gnp numeric(10,2),
  gnpold numeric(10,2),
  localname text NOT NULL,
  governmentform text NOT NULL,
  headofstate text,
  capital integer,
  code2 character(2) NOT NULL,
  CONSTRAINT country_pkey PRIMARY KEY (id),
  CONSTRAINT country_continent_check CHECK (continent = 'Asia'::text OR continent = 'Europe'::text OR continent = 'North America'::text OR continent = 'Africa'::text OR continent = 'Oceania'::text OR continent = 'Antarctica'::text OR continent = 'South America'::text)
);

CREATE TABLE countrylanguage
(
  countrycode character(3) NOT NULL,
  language text NOT NULL,
  isofficial boolean NOT NULL,
  percentage real NOT NULL,
  CONSTRAINT countrylanguage_pkey PRIMARY KEY (countrycode, language)
);

我的roo脚本如下:

// Spring Roo 1.3.1.RELEASE [rev 8cb81a3] log opened at 2016-01-10 14:01:09
project --topLevelPackage org.world --projectName world --java 7 --packaging JAR
// Spring Roo 1.3.1.RELEASE [rev 8cb81a3] log closed at 2016-01-10 14:01:11
// Spring Roo 1.3.1.RELEASE [rev 8cb81a3] log opened at 2016-01-10 14:08:38
jpa setup --database POSTGRES --provider HIBERNATE --databaseName world --hostName localhost --userName postgres --password postgres
database introspect --schema public
database reverse engineer --schema public --package ~.domain
focus --class ~.domain.City
finder list
finder add --finderName findCitysByPopulationLessThan
web mvc setup
web mvc all --package ~.web
web mvc finder all 

之后我启动了应用程序。点击按人口查找城市的链接,我收到前面提到的错误,有人可以协助吗?我甚至不确定从哪里开始调试......

1 个答案:

答案 0 :(得分:3)

默认情况下,STS下载了tomcat 7.0.47版本,该版本有一个错误编码正确的Spring请求中使用的URL。如果您在发送请求时查看网址,则会为每个参数看到&amp;而不是简单&,这会导致请求无法适合正确的@RequestParam方法。< / p>

更改Tomcat 7版本应该可以解决这个问题。您可以从here下载它。将其解压缩到一个新文件夹中,并将其作为tomcat7服务器从STS添加而不下载它(STS下载默认7.0.47版本)。尝试使用该新服务器运行应用程序。这也应该解决您在数据表视图中编辑和删除行的问题。

希望它有所帮助。请评论并验证它是否有效。