Grails 2.5:找不到 GSP 文件的资源 (404)
Grails 2.5 : Resource not found (404) for GSP file
我正在将我的 Grails 应用程序从版本 1.x 升级到 2.5,在版本 2.5 中遇到这个问题,但在版本 1.x
中运行良好
在 GSP 文件 (connect.gsp) 中,我正在尝试打开另一个 gsp rename.gsp。此 rename.gsp 文件与 connect.gsp 的位置相同。但是,找不到文件,并在弹出窗口中显示 404-Resource not found 错误。
connect.gsp(javascript 代码)
showPopWin("${request.getContextPath()}/user/rename.gsp", 280, 160, returnFunction);
gsp 文件的位置:
grails-app
- views
-user
-connect.gsp
-rename.gsp
Grails 2.x 版本中是否更改了与 GSP 文件加载相关的任何内容?请帮忙!
我认为 grails 正在寻找 url 映射。
您应该在控制器中创建一个动作,这个动作必须呈现 gsp 文件。
简单的例子:
CustomcontrolController {
def renamedisplay()
{
render(view: '/user/rename')
}
}
然后默认情况下 grails 将映射以下 url :
showPopWin("${request.getContextPath()}/customcontrol/renamedisplay", 280, 160, returnFunction);
或者您可以通过编辑 UrlMappings.groovy
指定不是由 grails 生成的特定 url
Grails 提供重定向未来以便从另一个操作调用一个操作。
但是这里当连接动作是 get 调用然后重定向到重命名动作
def userController () {
def connect () {
redirect(action: "rename")
// or redirect(controller: "user", action: "rename")
}
def rename() {
}
}
如果想从 connect.gsp
呼叫 rename.gsp
,您可以使用 window.location.href
window.location.href="${request.getContextPath()}/user/rename"
or
window.location.href="${request.getContextPath()}/user/rename.gsp"
看起来 Grails 中的资源渲染发生了变化 2.x
我添加了以下解决方法:
在我必须从另一个 gsp 调用 gsp 页面(不是控制器操作)的地方,然后先将其提交给控制器操作,然后从那里使用渲染转到相应的 gsp 文件。
也就是在connect.gsp
showPopWin("${request.getContextPath()}/user/renameUI", 280, 160, returnFunction);
在 UserController 中添加一个动作 renameUI,
def renameUI= {
render( view : 'rename', model:[params:params])
}
我正在将我的 Grails 应用程序从版本 1.x 升级到 2.5,在版本 2.5 中遇到这个问题,但在版本 1.x
中运行良好在 GSP 文件 (connect.gsp) 中,我正在尝试打开另一个 gsp rename.gsp。此 rename.gsp 文件与 connect.gsp 的位置相同。但是,找不到文件,并在弹出窗口中显示 404-Resource not found 错误。
connect.gsp(javascript 代码)
showPopWin("${request.getContextPath()}/user/rename.gsp", 280, 160, returnFunction);
gsp 文件的位置:
grails-app
- views
-user
-connect.gsp
-rename.gsp
Grails 2.x 版本中是否更改了与 GSP 文件加载相关的任何内容?请帮忙!
我认为 grails 正在寻找 url 映射。
您应该在控制器中创建一个动作,这个动作必须呈现 gsp 文件。
简单的例子:
CustomcontrolController {
def renamedisplay()
{
render(view: '/user/rename')
}
}
然后默认情况下 grails 将映射以下 url :
showPopWin("${request.getContextPath()}/customcontrol/renamedisplay", 280, 160, returnFunction);
或者您可以通过编辑 UrlMappings.groovy
指定不是由 grails 生成的特定 urlGrails 提供重定向未来以便从另一个操作调用一个操作。 但是这里当连接动作是 get 调用然后重定向到重命名动作
def userController () {
def connect () {
redirect(action: "rename")
// or redirect(controller: "user", action: "rename")
}
def rename() {
}
}
如果想从 connect.gsp
呼叫 rename.gsp
,您可以使用 window.location.href
window.location.href="${request.getContextPath()}/user/rename"
or
window.location.href="${request.getContextPath()}/user/rename.gsp"
看起来 Grails 中的资源渲染发生了变化 2.x
我添加了以下解决方法:
在我必须从另一个 gsp 调用 gsp 页面(不是控制器操作)的地方,然后先将其提交给控制器操作,然后从那里使用渲染转到相应的 gsp 文件。
也就是在connect.gsp
showPopWin("${request.getContextPath()}/user/renameUI", 280, 160, returnFunction);
在 UserController 中添加一个动作 renameUI,
def renameUI= {
render( view : 'rename', model:[params:params])
}