Prettyfaces:在观察特定的url模式时,将bean属性设置为某个常量值

时间:2013-10-19 20:46:29

标签: java jsf url-rewriting rewrite prettyfaces

pretty-config.xml中编写Prettyfaces的URL映射规则时,我想添加一条规则,即每当在URL中观察到特定模式时,都会将特定的常量值设置为bean属性。 对于例如当存在类似../products/electronics的模式时,它应该将bean属性bean.category设置为ELECTRONICS_ITEMS。我该怎么做?

2 个答案:

答案 0 :(得分:1)

您应该只使用路径参数,并在页面操作方法中将URL中的值转换为常量。像这样:

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

动作方法:

public void action() {

  if( "electronics".equals(this.category) ) {
    this.category = "ELECTRONICS_ITEMS";
  }
  // more categories...

}

答案 1 :(得分:0)

因为我正在使用漂亮的面孔注释我不知道pretty-config.xml如果我得到这个条件然后我会在这样的注释中使用它

 @URLAction(mappingId = "someMappingId", onPostback = false)
 public String setConstantValue() {

// set your bean here
return null;

}