myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gerhard Petracek" <gerhard.petra...@gmail.com>
Subject Re: How to redirect page in JSF
Date Fri, 05 Dec 2008 13:09:12 GMT
hello,

there are several alternatives.
the following approach is just for the requested use-case.

sample url: http://localhost:8080/faces/subdirectory/

in web.xml add a servlet-mapping for the faces servlet:
sample:
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>

then you can implement a phase listener for PhaseId.RESTORE_VIEW

in the method beforePhase you check if the target is a valid path - e.g.:
  FacesContext facesContext = phaseEvent.getFacesContext();
  if(facesContext.getExternalContext().getRequestPathInfo() != null &&
     ! facesContext.getExternalContext().getRequestPathInfo().contains("."))
{
     //implement default page handling
  }

@implement default page handling:
if you would like to use always the same page for the complete application:
  UIViewRoot uiViewRoot =
facesContext.getApplication().getViewHandler().createView(facesContext,
"/subdirectory/directory_default.xhtml");
  facesContext.setViewRoot(uiViewRoot);
  facesContext.renderResponse();

*or* if you would like to provide or calculate a default source + use
navigation rules:
  facesContext.setViewRoot(getSourceView(phaseEvent));

facesContext.getApplication().getNavigationHandler().handleNavigation(facesContext,
null, "directory_default");
  facesContext.renderResponse();

you have to implement the method getSourceView. if it returns e.g.:
/subdirectory/nav_source.xhtml

you have to add the following navigation-rule to your faces config:
  <navigation-rule>
    <from-view-id>/subdirectory/nav_source.xhtml</from-view-id>
    <navigation-case>
      <from-outcome>directory_default</from-outcome>
      <to-view-id>/subdirectory/directory_default.xhtml</to-view-id>
    </navigation-case>
 </navigation-rule>

regards,
gerhard



2008/12/5 mariyappa b <mariyappa.b@gmail.com>

> I even have the same requirement but I want to do with Navigation rule.
>
> Thank you,
> Mariyappa
>
>
> On Fri, Dec 5, 2008 at 3:41 PM, VIJAY SONAWANE <vijay_mcs2004@yahoo.co.in>wrote:
>
>> Thanks for reply Anton,
>>
>>
>>
>>           what I am trying to do is when user only enters url upto the
>> folder name where the actual page to be displayed is present
>> Example: I have folder  User in my project structure.
>>  So now if the user wants to access the page which is in this folder but
>> by mistake if the user doesn't provide the page name in the URL,but provides
>> till the folder where the page is included in ( i.e .
>> http://myserver/users/ )
>> then it should show page  http://myserver/users/userhome.html.
>>
>>
>>
>> ------------------------------
>> *From:* Anton Gavazuk <antongavazuk@gmail.com>
>> *To:* MyFaces Discussion <users@myfaces.apache.org>
>> *Sent:* Friday, 5 December, 2008 3:22:16 PM
>> *Subject:* Re: How to redirect page in JSF
>>
>> Hi
>> I dont understand you problem,
>>
>> what are you expecting?
>>
>> redirect in jSF could be done for example in navigation rules in faces
>> config file.
>>
>> 2008/12/5 VIJAY SONAWANE <vijay_mcs2004@yahoo.co.in>:
>> > Hi all,
>> >
>> > I am new to JSF.
>> >            I am facing one problem of url redirecting.
>> > i.e.  if user enters url like this
>> >                      http://myserver/project1/viewers/
>> > then he/she redirected to default page
>> > http://myserver/project1/viewers/viewersHome.html page.
>> >
>> > note : all my pages are in xhtml
>> >
>> > thanks in advance
>> >
>> > Vj++
>> >
>> >
>> >
>> > ________________________________
>> > Add more friends to your messenger and enjoy! Invite them now.
>>
>> ------------------------------
>> Be the first one to try the new Messenger 9 Beta! Click here.<http://in.rd.yahoo.com/tagline_messenger_7/*http://in.messenger.yahoo.com/win/>
>>
>
>
>
>
>


-- 

http://www.irian.at

Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German

Professional Support for Apache MyFaces

Mime
View raw message