如何从 Liferay 速度模板获取服务器名称和服务器端口?

2024-04-01

在jsp页面中,我们可以使用以下命令获取服务器名称和服务器端口 request.getServerName() 和 request.getServerPort()。`

由于我们无法从Liferay速度模板获取HttpServletRequest,是否有其他方法 获取服务器名称和服务器端口?请用一个小代码片段回答..


在你的 Liferay 源中你可以找到com.liferay.portal.velocity.VelocityVariablesImpl.

该类位于portal-impl/src/com/liferay/portal/velocity/VelocityVariablesImpl.java.

如果您检查速度上下文的所有条目(诸如velocityContext.put(String key, Object value)),特别是那些在insertVariables方法,您会看到这会在名称下公开 httpServletRequest"request".

因此,在模板中,您可以像访问任何其他速度上下文对象一样使用键访问请求对象$request.

然后,该对象将可与其所有方法和属性(公共)一起使用。

所以就这样做

$request.getServerName()

and

$request.getServerPort()

此外,如果您想将速度变量设置为其中之一,只需执行以下操作

#set ($my_amazing_variable = $request.getServerPort())

然后您就可以使用$my_amazing_variable就像任何常规速度一样。

希望这可以帮助。


注意!

请注意,您无法在 Liferay 中所有类型的速度模板下访问完全相同的变量和宏集。 有不同的套装

  • 主题模板
  • 布局模板
  • 网页内容模板
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Liferay 速度模板获取服务器名称和服务器端口? 的相关文章

随机推荐