背景 我为应用程序创建了自己的TagLib。其中一个标记必须依赖于当前请求URL(在路径和url参数上)。 我有两个gsp文件 - 布局和常规页面。
问题: 我试图从标签处理程序获取当前请求URL:
request.requestURI
但不是我在浏览器中的内容
http://localhost:8888/gbv/999/index
出于某种原因,当从常规页面调用标记时,它将返回类似这样的内容:
/gbv/grails/index.dispatch
当从模板中调用标记时,它将返回此信息(这是正常的):
/gbv/999/index
问题: 如何做一个(或两个)
答案 0 :(得分:4)
您应该只需引用标记类中的params
即可获得对参数的引用。
如果要重新构造请求的完整路径(如浏览器中所示),可以使用request
对象的方法执行此操作,该对象是HttpServletRequest的实例,例如
答案 1 :(得分:3)
使用以下
request.forwardURI
答案 2 :(得分:0)
使用${params.id}
获取您正在查看的当前项目的ID
${controllerName}
获取控制器名称
使用${actionName}
获取操作名称