使用.html Grails UrlMappings

使用.html Grails UrlMappings,第1张

概述我正在开发一个Grails Web应用程序(主要是作为学习练习).我以前写了一些标准的Grails应用程序,但在这种情况下我想尝试创建一个控制器来拦截表单的所有请求(包括静态html): <a href="/testApp/testJsp.jsp">test 1</a><a href="/testApp/testGsp.gsp">test 2</a> <a href="/testApp/t 我正在开发一个Grails Web应用程序(主要是作为学习练习).我以前写了一些标准的Grails应用程序,但在这种情况下我想尝试创建一个控制器来拦截表单的所有请求(包括静态HTML): @H_403_7@

@H_403_7@

<a href="/testApp/testJsp.Jsp">test 1</a><a href="/testApp/testGsp.gsp">test 2</a>   <a href="/testApp/testhtm.htm">test 3</a><a href="/testApp/testHTML.HTML">test 4</a>
@H_403_7@目的是在每次用户单击链接时执行一些简单的业务逻辑(审计).我知道我可以使用Filter(或一系列其他方法)来做到这一点,但我认为这也应该有效,并希望使用Grails框架来实现.

@H_403_7@我设置了Grail urlmappings.groovy文件,将该表单的所有URL(/ $myPathParam?)映射到单个控制器:

@H_403_7@

class UrlMapPings {    static mapPings = {      "/$controller/$action?/$ID?"{          constraints {          }      }      "/$path?" (controller: 'auditRecord',action: 'showPage')      "500"(vIEw:'/error')    }}
@H_403_7@在那个控制器中(在相应的“showPage”动作中)我一直打印出路径信息,例如:

@H_403_7@

def showPage = {            println "params.path = " + params.path    ...    render(vIEw: resultingVIEw)}
@H_403_7@我的四个链接中每个链接的showPage *** 作中的println的结果是

@H_403_7@

testJsp.JsptestGsp.gsptesthtm.htmtestHTML
@H_403_7@为什么最后一个是“testHTML”,而不是“testHTML.HTML”?

@H_403_7@在之前的(Stack Overflow query)olexandr遇到了这个问题,并建议简单地连接request.format的值 – 这确实会返回“HTML”.但是request.format也为所有四个链接返回“HTML”.

@H_403_7@我有兴趣了解Grails正在做什么以及为什么.有没有办法配置Grails所以控制器中的params.path变量显示“testHTML.HTML”而不是剥离“HTML”扩展名?它似乎没有删除任何其他文件类型(包括.htm)的扩展名.它有这么好的理由吗?我知道使用静态HTML控制器有点不寻常,但仍然想了解发生了什么.

解决方法 这与内容协商有关,您可以在Grails用户指南的第6.8节中阅读.如果Grails将扩展名识别为特定类型,则会从URL中删除该扩展名,并将该类型添加到“format”参数中. @H_403_7@

@H_403_7@您可以通过将此条目添加到grails-app / conf / Config.groovy来禁用此行为:

@H_403_7@

grails.mime.file.extensions = false
总结

以上是内存溢出为你收集整理的使用.html Grails UrlMappings全部内容,希望文章能够帮你解决使用.html Grails UrlMappings所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1062367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存