Solved

How to call a .xhtml page on the click of a p:commandButton

Posted on 2014-03-24
6
363 Views
Last Modified: 2014-04-21
I have a simple p:commandButton as follows...

<p:commandButton value="Next" type="button" />

I have a next.html page. I want to display the contents of the next.html on the
browser when clicked the "Next" button. How should I do that in JSF/PrimeFaces?
0
Comment
Question by:prain
  • 4
  • 2
6 Comments
 
LVL 12

Assisted Solution

by:Gibu George
Gibu George earned 250 total points
ID: 39952862
You can either add an actionlistener if you want to send the request to server and do some pre requisite operations before going to the next.html, or you can add a javascript function on the onclick and use the window.href.location to be changed to next.html
0
 

Author Comment

by:prain
ID: 39953329
In a table I have this component....


<td>
<p:commandButton value="Next" type="button" actionListener="#{personnel.resignationContinuation()}" />
</td>


And the listener is shown below...

Yet, the continuationPage.xhtml page is not getting loaded.

public void resignationContinuation()
{
 try
  {
   FacesContext context = FacesContext.getCurrentInstance();
                ExternalContext externalContext =
   context.getExternalContext();
      
   externalContext.redirect(externalContext.getRequestContextPath() +
"/subpages/continuationPage.jsf");
            }
            catch (IOException e) {
                               }
      }
0
 
LVL 12

Expert Comment

by:Gibu George
ID: 39955224
Can you try logging the exception instead of an empty catch block or do e.printStackTrace(), and let me know if any exception is occuring
0
Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

 

Accepted Solution

by:
prain earned 0 total points
ID: 39955939
Ok. I am working on JBoss Development Studio (just FYI). This is a actually a mistery for me. Just for testing purposes I just added a System.out.println() after removing everything from the resignationContinuation() event handler. I was expecting to see the print line coming up on the JBoss Console (This is the way I test out other event handlers). For some reason the p:commandButton (at least this one) does not fire the actionListener.  Here is a skeletion of my current code....
<p:panel style="text-align:center">
  <p:commandButton value="Cancel" type="button" style="width:80px" />
  <p:commandButton value="Update" type="button"  style="width:80px" />
  <p:commandButton id="cmdBtnNext"
                                       value="Next"
                                       actionListener="#{resignationContinuation.show}"
                                       style="width:80px"
                                       type="submit" />
</p:panel>

And Here is the bean code....
@ManagedBean(name="resignationContinuation")
@ViewScoped
public class ResignationContinuation extends PageBean
{
  public ResignationContinuation() {
            // TODO Auto-generated constructor stub
  }

  @PostConstruct
  public void init() throws Exception {
            try {
                   super.init();
            }catch(Exception e) {
   }
}

public void show()
{
  try{
          System.out.println("Reached show()");
          catch(Exception e)
         {
              e.printStackTrace();
          }
     }
}


No stack trace or no print line. Very strange......
0
 

Author Comment

by:prain
ID: 39956428
Just for the heck of it, I seperated these buttons into a seperate form. Boom, it works!!!!!!!!!!!!!!!!!!. I do not know how and why if does not work when these componets are in the same form with the other components.
0
 

Author Closing Comment

by:prain
ID: 40012201
Good pointer
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I recently went through the process of creating a Calendar Control of events with the basis of using a database to keep track of the dates that are selectable, one requirement was to have the selected date pop-up in a simple lightbox.  At first this…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

740 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question