2

私のプロジェクトでは、クリーンなURLが必要です。したがって、次のようなconf/routesにエントリを作成します。

GET   /switzerland  controllers.Application.country(countryCode = "CH")
GET   /germany      controllers.Application.country(countryCode = "DE")
...
GET   /:countryCode  controllers.Application.country(countryCode: String)

私のリストは130エントリを超えており、StackOverflowErrorを作成します。エラーを防ぐ方法についての助けは大歓迎です。たぶん、この問題に対するはるかに洗練された解決策もあります。

Javaバージョン:

java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3646)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode)

ご助力ありがとうございます!

小さなサンプルプロジェクトを作成して、それを再現しました(少なくとも私のMacでは): https ://github.com/sunsations/play_2.0.1_routes_stackoverflowerror

4

1 に答える 1

4

確かに問題が発生するので、そのためのより良い場所はプレイの灯台だと思います

その間、1つのルートですばやく簡単に解決できます。

GET   /:countryName    controllers.Application.country(countryName : String)

次に、実際には、文字列で識別されるDBからcountry()取得できます。countryCodecountryName

編集:

ところで、このアプローチを使用すると、UTFリンクを使用する方が簡単になりますdomain.tld/Росси́яdomain.tld/Russia

于 2012-05-11T07:36:46.717 に答える