gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 12:47:18 24 4
gpt4 key购买 nike

在 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 访问您的请求对象作为任何其他速度上下文对象。 .

然后,该对象将可用于它的所有方法和属性(如果是公共(public)的)。

所以就这样做

$request.getServerName()


$request.getServerPort()

此外,如果您想将速度变量设置为其中之一,只需执行以下操作
#set ($my_amazing_variable = $request.getServerPort())

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

希望这可以帮助。

请注意!

请注意,您无法访问 Liferay 中所有类型的速度模板下的完全相同的变量和宏集。
有不同的套装
  • 主题模板
  • 布局模板
  • 网页内容模板
  • 关于liferay-6 - 如何从 Liferay 速度模板中获取服务器名称和服务器端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14659374/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com