Prettyfaces: Set a bean property to some constant value, on observing a specific url pattern

前端 未结 2 1109
庸人自扰
庸人自扰 2021-01-24 08:06

While writing the URL mapping rules for Prettyfaces in pretty-config.xml I would like to add a rule that whenever a particular pattern is observed in URL then set a

相关标签:
2条回答
  • 2021-01-24 08:19

    You should simply use a path parameter and convert the value from the URL to your constant in a page action method. Something like this:

    <url-mapping id="products"> 
      <pattern value="/products/#{bean.category}/" /> 
      <view-id value="/faces/shop/store.jsf" />
      <action>#{bean.action}</action>
    </url-mapping>
    

    And the action method:

    public void action() {
    
      if( "electronics".equals(this.category) ) {
        this.category = "ELECTRONICS_ITEMS";
      }
      // more categories...
    
    }
    
    0 讨论(0)
  • 2021-01-24 08:19

    as i am using prettyfaces annotations i dont know about pretty-config.xml if i got this condition then i will use it in annotations like this

     @URLAction(mappingId = "someMappingId", onPostback = false)
     public String setConstantValue() {
    
    // set your bean here
    return null;
    
    }
    
    0 讨论(0)
提交回复
热议问题