1

I changed mapping of my page in UrlMappings to the following value:

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

The page (/producingCountry/show) is as simple as:

<%@ 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

urlMapping 定義でビュー名を指定するときにコントローラーパラメーターを指定するべきではないと思います。これを試してください:

"/${adminArea}/producing-country/$id" (view: "/producingCountry/show")
于 2013-06-03T17:18:16.557 に答える
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 に答える