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

标签 java jsf url-rewriting prettyfaces

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

最佳答案

您应该简单地使用路径参数并将 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...

}

关于java - Prettyfaces:在观察特定的 url 模式时将 bean 属性设置为某个常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470974/

相关文章:

java - Log4j 不附加文件扩展名

exception - 如何捕获人脸 FileNotFoundException?

java - JSF2.0(Primefaces)中带有filteroptions方法的SelectOneMenu

apache - 在 Apache 中使用 mod_rewrite 处理中文字符

.htaccess - 在htaccess模式下使用问号重写

c - G-WAN handler重写方案

Java dom4j org/jaxen/NamespaceContext 异常

java - 如何使用多对多字段原生查询 WHERE IN?

java - 为什么我不应该在 Web 界面上使用静态文本?

JSF EL 表达式比较字符串值