欢迎您的访问
专注于分享最有价值的互联网技术干货

十八、附录 A:表达式基本对象

几个T的资料等你来白嫖
双倍快乐
一定要收藏这个宝藏网站防止丢失,求助资源~!!!

十八、附录 A:表达式基本对象

某些对象和变量 Map 始终可以被调用。让我们看看他们:

Base objects

  • #ctx :上下文对象。 org.thymeleaf.context.IContextorg.thymeleaf.context.IWebContext的实现取决于我们的环境(独立或网络)。

注意#vars#root是同一对象的同义词,但建议使用#ctx

/*
 * ======================================================================
 * See javadoc API for class org.thymeleaf.context.IContext
 * ======================================================================
 */

${#ctx.locale}
${#ctx.variableNames}

/*
 * ======================================================================
 * See javadoc API for class org.thymeleaf.context.IWebContext
 * ======================================================================
 */

${#ctx.request}
${#ctx.response}
${#ctx.session}
${#ctx.servletContext}
  • #locale :直接访问与当前请求关联的java.util.Locale
${#locale}

请求/会话属性等的 Web 上下文名称空间。

在 Web 环境中使用 Thymeleaf 时,我们可以使用一系列快捷方式来访问请求参数,会话属性和应用程序属性:

请注意,这些不是* context 对象*,而是作为变量添加到上下文中的 Map,因此我们无需#即可访问它们。它们以某种方式充当* namespaces *。

  • param :用于检索请求参数。 ${param.foo}是具有foo请求参数值的String[],因此${param.foo[0]}通常将用于获取第一个值。
/*
 * ============================================================================
 * See javadoc API for class org.thymeleaf.context.WebRequestParamsVariablesMap
 * ============================================================================
 */

${param.foo}              // Retrieves a String[] with the values of request parameter 'foo'
${param.size()}
${param.isEmpty()}
${param.containsKey('foo')}
...
  • session :用于检索会话属性。
/*
 * ======================================================================
 * See javadoc API for class org.thymeleaf.context.WebSessionVariablesMap
 * ======================================================================
 */

${session.foo}                 // Retrieves the session atttribute 'foo'
${session.size()}
${session.isEmpty()}
${session.containsKey('foo')}
...
  • application :用于检索应用程序/ servlet 上下文属性。
/*
 * =============================================================================
 * See javadoc API for class org.thymeleaf.context.WebServletContextVariablesMap
 * =============================================================================
 */

${application.foo}              // Retrieves the ServletContext atttribute 'foo'
${application.size()}
${application.isEmpty()}
${application.containsKey('foo')}
...

请注意, 无需指定用于访问请求属性的名称空间 (与 request parameters 相对),因为所有请求属性都作为变量自动添加到上下文根目录中:

${myRequestAttribute}

Web 上下文对象

在 Web 环境中,还可以直接访问以下对象(请注意,这些是对象,而不是 Map/命名空间):

  • #request :直接访问与当前请求关联的javax.servlet.http.HttpServletRequest对象。
${#request.getAttribute('foo')}
${#request.getParameter('foo')}
${#request.getContextPath()}
${#request.getRequestName()}
...
  • #session :直接访问与当前请求关联的javax.servlet.http.HttpSession对象。
${#session.getAttribute('foo')}
${#session.id}
${#session.lastAccessedTime}
...
  • #servletContext :直接访问与当前请求关联的javax.servlet.ServletContext对象。
${#servletContext.getAttribute('foo')}
${#servletContext.contextPath}
...
赞(0) 打赏
版权归原创作者所有,任何形式转载请联系我们:大白菜博客 » 十八、附录 A:表达式基本对象

评论 抢沙发

7 + 9 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏