1

我将 UrlMappings 中页面的映射更改为以下值:

name producingCountry: "${adminArea}/producing-country/$id" (controller: "producingCountry", view: "/producingCountry/show") {
    constraints { id(matches: /\d+/) }
}

页面(/productionCountry/show)很简单:

<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
    <meta name="layout" content="main">
    <title><g:message code="producingCountry.show.title"/></title>
</head>
<body>

</body>
</html>

该消息不再呈现。当它的 url 映射到最后一行的控制器方法“show”时,它运行良好,例如:

render [producingCountry: (country)]

我该如何解决这个问题?

4

2 回答 2

0

使用此映射

"/${adminArea}/producing-country/$id" (controller: "producingCountry", view: "show")

controller指定时,将采用view名称而不是相对路径。

更新
我不确定如何adminArea评估,但以下内容对我有用:

//UrlMapping:- [mark the "/" in the beginning of the mapping, it is required to append to root context]
name producingCountry: "/admin/producing-country/$id" (controller: "producingCountry", view: "show") {
                constraints { id(matches: /\d+/) }
        }

//show.gsp
Exactly same (copied) from your question.

//messages.properties
producingCountry.show.title=United States

United States当点击以下 url 模式时,给我一个带有标题的页面:

http://localhost:8080/DemoUrlMappingApp/admin/producing-country/123

在此处输入图像描述

于 2013-06-01T21:52:08.147 回答
0

我认为在 urlMapping 定义中指定视图名称时不应该指定控制器参数,试试这个:

"/${adminArea}/producing-country/$id" (view: "/producingCountry/show")
于 2013-06-03T17:18:16.557 回答