I\'m trying to create a link to open a new page in a different window/tab and display some msg from backing bean but fail to do it, wonder know why?
here is my xhtml
Both are not working so issue is not in primefaces ajax. Issue in target attribute of p:commandLink its not working...
<p:commandLink value="New Window" ajax="false" target="_blank" action="test"/>
<p:commandLink value="New Window" target="_blank" action="test"/>
SO we have to use
<h:commandLink value="New Window" target="_blank" action="test"/>
like this,
<h:link target="_blank" value="Other page" outcome="your url"></h:link>
Good luck!
I do it like this:
<p:commandLink id="link" actionListener="#{testing.getMessage}"
oncomplete="popupwindow('msg.xhtml', 'newwindow');" >
<h:outputText value="broadcast Msg" />
</p:commandLink>
With some javascript:
<script type="text/javascript">
function popupwindow(url, title) {
window.open(url , title, "toolbar=no, scrollbars=yes, resizable=yes, top=170, left=170, width=800, height=600");
}
</script>
In this example you open a new window, hope its helps!
like this
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<h:outputStylesheet library="base" name='jquery-ui-1.8.16.custom.css' />
</h:head>
<span style="background-color: rgb(192, 192, 192);">
<h:form target="_blank">
<p:commandButton value="Run" action="#{bean.createReport}" />
</h:form>
</span>
</html>
see:enter link description here
<p:commandLink>
has some ajax issues, Use <h:commandLink>
instead.
<h:commandLink actionListener="#{testing.printMessage}" action="/Msg.html" target="_blank">get Msg</h:commandLink>
changed <p:commandLink>
to <h:commandLink>
and your code is working fine.
<p:remoteCommand name="lookAndBookNewTab"
process="@this" action="#{lookAndBookMB.onPageLoadForNewTab()}"
rendered="#currentUserManager.
hasPermission('LookAndBook','View')}" update=":messageForm:growl" />
And my javascript:
<script>
if(event.ctrlKey && event.shiftKey && event.keyCode == 119) {
lookAndBookNewTab();
event.preventDefault();
</script>
ServerSide action method:
public String onPageLoadForNewTab(){
HttpServletRequest req = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest(); String url = req.getRequestURL().toString();
url=(url.substring(0, url.length() - req.getRequestURI().length()) + req.getContextPath() + "/"); url=url+navigationpagename+".jsf"; RequestContext.getCurrentInstance().
execute("window.open('"+url+"','_blank')");**
return ""; }