在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(使用前将#替换为@)