<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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)