Foren
JSF adding portlet war name infront of the URL
Nagaraja Chokkavarapu, geändert vor 11 Jahren.
JSF adding portlet war name infront of the URL
New Member Beiträge: 5 Beitrittsdatum: 18.11.11 Neueste Beiträge
Hi,
In portal-ext.properties we configured portal.ctx as below.
portal.ctx=/someportal
We deploy the portlets as separate war file with war file name xyz_portlets.war. In liferay-plugin-package.properties, name is "XYZ Portlets"
We have POJO class like this.
In the generated HTML code, link appears as http://localhost:8101/xyz_portlets/someportal/group/blah/analytics.
Looks like JSF is injecting the portlet war file name in the URL. Pl. let me know how to avoid it.
Thanks,
Nagaraja
In portal-ext.properties we configured portal.ctx as below.
portal.ctx=/someportal
We deploy the portlets as separate war file with war file name xyz_portlets.war. In liferay-plugin-package.properties, name is "XYZ Portlets"
We have POJO class like this.
public class Alert
{
private String title;
private String url = "/";
}
AlertBean {
We are populating Alert like below and adding it to the List
alert.setUrl(lookupBean.getContextPath() + "/group/blah/analytics");
}
in xhtml file we are using above list as below.
<h:datatable width="100%" border="0" cellpadding="2" cellspacing="0" style="margin:10px 40px 10px 20px" rows="#{alertsBean.numberOfItemsToShow}" value="#{alertsBean.alerts}" var="alert" rowclasses="tallRow" columnclasses="col1,col2">
<h:column>
<h:outputformat>
<h:outputlink value="#{alert.url}" title="#{alert.tooltip}" style="#{alert.style}">
<span>#{alert.title}</span>
</h:outputlink>
</h:outputformat>
</h:column>
</h:datatable>
In the generated HTML code, link appears as http://localhost:8101/xyz_portlets/someportal/group/blah/analytics.
Looks like JSF is injecting the portlet war file name in the URL. Pl. let me know how to avoid it.
Thanks,
Nagaraja
Neil Griffin, geändert vor 11 Jahren.
RE: JSF adding portlet war name infront of the URL
Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
Please provide more information -- not sure what question you are asking. Thanks.
Nagaraja Chokkavarapu, geändert vor 11 Jahren.
RE: JSF adding portlet war name infront of the URL
New Member Beiträge: 5 Beitrittsdatum: 18.11.11 Neueste Beiträge
Neil,
Looks you are able to see the post before publishing. I just pressed the publish button.
Pl. let me know if you need more info.
Thanks,
Nagaraja
Looks you are able to see the post before publishing. I just pressed the publish button.
Pl. let me know if you need more info.
Thanks,
Nagaraja
Neil Griffin, geändert vor 11 Jahren.
RE: JSF adding portlet war name infront of the URL
Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
If you want the URL for the portal context (and not the current portlet context), then you could do something like this in your LookupBean:
Alternatively if you are using the liferay-faces-portal.jar dependency, you can do this:
FacesContext facesContext = FacesContext.getCurrentInstance();
ExternalContext externalContext = facesContext.getExternalContext();
PortletRequest portletRequest = (PortletRequest) externalContext.getRequest();
ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);
String portalURL = themeDisplay.getPortalURL();
Alternatively if you are using the liferay-faces-portal.jar dependency, you can do this:
LiferayFacesContext liferayFacesContext = LiferayFacesContext.getInstance();
String portalURL = liferayFacesContext.getPortalURL();
Nagaraja Chokkavarapu, geändert vor 11 Jahren.
RE: JSF adding portlet war name infront of the URL
New Member Beiträge: 5 Beitrittsdatum: 18.11.11 Neueste Beiträge
Hi Neil,
Not sure I was able to explain it properly. I have issue with h:outputLink. It is adding the "portlet context url" to the value attribute. If I use following code generated HTML link is fine.
<a title="Alert" style="" href="#{alert.url}">
<span>#{alert.title}</span>
</a>
generated link: http://localhost:8101/someportal/group/blah/analytics (No Problem)
If I use
<h:outputLink value="#{alert.url}" title="#{alert.tooltip}" style="#{alert.style}">
<span>#{alert.title}</span>
</h:outputLink>
generated link is : http://localhost:8101/xyz_portlets/someportal/group/blah/analytics (Portlet context is added)
Issue is how to prevent h:outputLink adding portlet context to the URL.
Thanks,
Nagaraja
Not sure I was able to explain it properly. I have issue with h:outputLink. It is adding the "portlet context url" to the value attribute. If I use following code generated HTML link is fine.
<a title="Alert" style="" href="#{alert.url}">
<span>#{alert.title}</span>
</a>
generated link: http://localhost:8101/someportal/group/blah/analytics (No Problem)
If I use
<h:outputLink value="#{alert.url}" title="#{alert.tooltip}" style="#{alert.style}">
<span>#{alert.title}</span>
</h:outputLink>
generated link is : http://localhost:8101/xyz_portlets/someportal/group/blah/analytics (Portlet context is added)
Issue is how to prevent h:outputLink adding portlet context to the URL.
Thanks,
Nagaraja
Neil Griffin, geändert vor 11 Jahren.
RE: JSF adding portlet war name infront of the URL
Liferay Legend Beiträge: 2655 Beitrittsdatum: 27.07.05 Neueste Beiträge
This sounds similar to a thread started by Max Maier. Please give that thread a read and let me know if you agree. At the bottom of the thread, I mention that Max was correct and directed him to read the last few comments of FACES-1331 for more info.