在GSP中,是否可以创建与另一个GSP的直接链接?我知道我可以用:
<g:createLink controller="user" action="foo"/>
Run Code Online (Sandbox Code Playgroud)
并在UserController中定义foo动作以显示相应的GSP
class UserController {
def foo = {}
}
Run Code Online (Sandbox Code Playgroud)
但是,有什么办法可以在不创建空foo
动作的情况下实现相同的结果吗?
谢谢,唐
Col*_*ton 25
在建立连结标签是面向与控制器操作使用,而你是想url属性之外什么也不会做.
您可以直接/user/foo.gsp
通过链接和资源标记的组合来获取gsp .
<g:link url="${resource(dir:'user', file:'foo.gsp')}">user/foo.gsp</g:link>
Run Code Online (Sandbox Code Playgroud)
您可以创建一个URL请求,将请求直接映射到视图.
class UrlMappings {
static mappings = {
"/user/foo"(view:"user/foo")
}
}
Run Code Online (Sandbox Code Playgroud)
使用Grails 1.2,您可以创建一个直接映射到视图的命名URL映射:
class UrlMappings {
static mappings = {
name userFoo: "/user/foo"(view:"user/foo")
}
}
Run Code Online (Sandbox Code Playgroud)
然后将其与链接标记一起使用:
<link:userFoo>User Foo</link:userFoo>
Run Code Online (Sandbox Code Playgroud)
要么
<g:link mapping="userFoo">User Foo</g:link>
Run Code Online (Sandbox Code Playgroud)
Dav*_*wer 13
<a href="${createLink(uri:'/path/page.gsp')}">link</a>
Run Code Online (Sandbox Code Playgroud)
HTH