我是圣杯的新手。我遇到了一个设置标签,我们可以在 gsp 页面本身使用它来设置值,这类似于从控制器设置模型。
<g:set var="home" value="something" />
因此,当我们编写 ${home} 时,它会输出"某物"。
有没有办法在 gsp 页面本身而不是使用 set 标签从控制器中设置会话中的值?
是的,您也可以在 gsp 页面中执行此操作。您只需要包含一个额外的属性范围来指示要将值设置为哪个范围(会话、闪存、页面和请求)。
<g:set var="home" value="something" scope="session" />
如果不包括范围选项,则默认为页面。
要显示该值,您只需为请求范围编写 ${session.home} 或 ${request.home} 或简单的 ${home}。希望这有帮助。
更多 : https://grails.github.io/grails-doc/3.0.x/ref/Tags/set.html
好吧! 上面的答案就足够了。只是想再补充一点,即 gsp 页面在内部包含 jsp,因此所有 9 个隐式对象在 gsp 页面上也可用。
request HttpServletRequest object
response HttpServletResponse object
out PrintWriter object used to send output to the client.
session HttpSession object
application ServletContext object associated with application context.
config ServletConfig object associated with the page.
pageContext server-specific features JspWriters.
page synonym for this
Exception handling exceptions and error page redirects.An instance of javax.servlet.jsp.JspException
您可以随时在 gsp 页面中访问这些内容。
您可以从中阅读更多内容。
希望对您有所帮助!