portlet:renderUrl - 如何使 URL 相对?
我在 portlet 中使用 http 与 https 链接时遇到问题。我使用 jboss liferay 6.0,但它与本例无关。
Portlet 可以在 http 或 https 模式下使用。 Portlet 标签创建绝对 URL。我需要这个相对的才能正确使用 http 和 https。
我知道安全属性,但我不希望它始终安全。
<portlet:renderURL var="detailLink">
<portlet:param name="id" value="${recordId}" />
<portlet:param name="backURL" value="${backLink}" />
</portlet:renderURL>
请不要使用 JavaScript。
谢谢
I have problem with http vs https link in portlets. I work with jboss liferay 6.0 but it is not relevant in this case.
Portlets may be used in http or https mode. Portlet tag creates absolute URL. I would need this relative to work correctly with http vs https.
I know secure attribute, but I don't want it always secure.
<portlet:renderURL var="detailLink">
<portlet:param name="id" value="${recordId}" />
<portlet:param name="backURL" value="${backLink}" />
</portlet:renderURL>
Please no javascript for this.
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在服务器上,你就会知道你是处于http还是http模式。所以你可以使用这样的东西在服务器端创建它
On the server, you will know whether you are in http or http mode. So you could create it server side using something like this
您可以在此处使用相对 URL 概念...
如果您不想继续使用 javascript,那么您可以在 jsp 页面中创建 Java 方法,最好是在 init 等常见 jsp 页面中。 jsp 并放置以下方法:
您可以在 url 上调用此方法,它将返回具有路径和参数的字符串。
例如;如果你传递 cURL 那么
它将返回
你也可以使用 themeDisplay.getURLPortal() 方法来分割绝对 url 以从中获取所需的相对 url。
该机制将满足您的要求。
You can use the Relative URL concept here...
If you don't want to go ahead with javascript then you can create a Java method in your jsp page, preferably in a common jsp page like init.jsp and place the following method:
You can call this method on your url and it would return the string having path and parameters.
For example; if you pass cURL as
then it will return
Also you can use themeDisplay.getURLPortal() method to split absolute url to get required relative url out of it.
This mechanism will fulfill your requirement.