EN

Search
Close this search box.

موستانگ، وحشیِ دوست داشتنی

پاسخ داده شد
0
0

در jsf زمانیکه یک لینک یا دکمه را کلیک می کنیم چگونه مشخص می کنیم که کدام صفحه نمایش داده شود؟

  • شما باید برای ارسال دیدگاه شوید
پاسخ عالی
0
0

برای اینکار 3 روش وجود دارد:

  1. در صفحه jsf
<h:form>  
  <h3>Using JSF  navigation</h3>   
 <h:commandButton action="home" value="home" />  
</h:form>  
 

در اینجا  زمانیکه دکمه home کلیک شود به صفحه home.xhtml فوروارد می شود..

2.  با استفاده از Managed Bean :

ManagedBean(name = "navigationController", eager = true)
 @RequestScoped 
public class NavigationController implements Serializable {  
  public String moveToHome()
{       return "home";     }
 } 

و در قسمت UI قرار می دهیم:

<h:form>  
  <h3>Using Managed Bean</h3> 
   <h:commandButton action="#{navigationController.moveToHome}"    value="home" />  
      </h:form> 

3. با استفاده از فایل faces-config.xml

<navigation-rule> 
   <from-view-id>home.xhtml</from-view-id>  
  <navigation-case> 

 
      <from-action>#{navigationController.goToPage1}</from-action>   
    <from-outcome>page</from-outcome>     
  <to-view-id>page1.jsf</to-view-id> 
  </navigation-case>    
</navigation-rule>  

و در managed bean متد زیر را قرار می دهیم:

public String goToPage1(){
    return "page"; 
 }

4. با استفاده از قرار دادن id برای  page ها

<h:form>    
   <h:commandLink action="#{navigationController.showPage}" value="page1">   
    <f:param name="pageId" value="1" />  
  </h:commandLink>     
</h:form>

و در bean متد زیر را قرار می دهیم

ManagedBean(name = "navigationController", eager = true) 
@RequestScoped
 public class NavigationController implements Serializable 
{        //this managed property will read value from request parameter pageId  
  @ManagedProperty(value="#{param.pageId}") 
   private String pageId; 
 
 
   public String showPage()
{     
  if(pageId == null){       
   return "home";      
 }    
   if(pageId.equals("1")){  
        return "page1";    
   }
    }
 } 
  • شما باید برای ارسال دیدگاه شوید
نمایش 1 نتیجه
پاسخ شما
اگر قبلاً حساب کاربری دارید با پر کردن فیلد های زیر یا به عنوان مهمان ارسال کنید.
نام*
ایمیل*
وب سایت