Java Prettyfaces:在观察特定url模式时,将bean属性设置为某个常量值
在Java Prettyfaces:在观察特定url模式时,将bean属性设置为某个常量值,java,jsf,url-rewriting,rewrite,prettyfaces,Java,Jsf,Url Rewriting,Rewrite,Prettyfaces,在prettyconfig.xml中编写Prettyfaces的URL映射规则时,我想添加一条规则,即每当在URL中观察到特定模式时,就为bean属性设置一个特定的常量值。 例如,当存在类似于。/products/electronics的模式时,它应该将bean属性bean.category设置为electronics\u ITEMS。如何做到这一点?因为我使用的是prettyfaces注释,我不知道pretty config.xml如果我遇到这种情况,那么我将在类似这样的注释中使用它 @UR
prettyconfig.xml
中编写Prettyfaces的URL映射规则时,我想添加一条规则,即每当在URL中观察到特定模式时,就为bean属性设置一个特定的常量值。
例如,当存在类似于
。/products/electronics
的模式时,它应该将bean属性bean.category
设置为electronics\u ITEMS
。如何做到这一点?因为我使用的是prettyfaces注释,我不知道pretty config.xml
如果我遇到这种情况,那么我将在类似这样的注释中使用它
@URLAction(mappingId = "someMappingId", onPostback = false)
public String setConstantValue() {
// set your bean here
return null;
}
您只需使用path参数,并在页面操作方法中将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...
}