我有一个fizzbuzz.gsp
,我有FizzBuzzController
个index()
方法来呈现此GSP:
class FizzBuzzController {
def index() {
render(view: "fizzbuzz", model: getModel())
}
def getModel() { ... }
}
通常,要获取与fiizbuzz.gsp
文件相关联的HTML,我会拨打http://myapp.example.com/fizzbuzz
。
我有一个独特的情况,我现在需要我的Grails应用程序来处理像http://myapp.example/fizzbuzz.html
这样的HTML文件网址请求。
Grails是否提供了将http://myapp.example/fizzbuzz.html
的传入请求映射到http://myapp.example.com/fizzbuzz
的方法?这样,客户端可以请求HTML文件,但仍然可以从服务器端回送正确的GSP / HTML文件。有什么想法吗?
答案 0 :(得分:1)
你可以做到这一点是不同的方式。如果您使用的是Grails 2.3或更高版本,则可以使用redirect
中的UrlMapping.groovy
作为:
"/fizzbuzz.html"(redirect: "/fizzBuzz")
指示" 如果您在网址中看到fizzbuzz.html,则重定向到index
控制器的<{1}}操作&#34;
或者您也可以明确地将其用作
fizzBuzz
或者您可以将映射复制为
//index is the default action therefore specifying action in the map is optional
"/fizzbuzz.html"(redirect: [ controller: "fizzBuzz", action: ''index' ])
在任何一种情况下,它都会调用action方法而不是查找任何静态资源。