如何将Stripes中Web App的根映射到ActionBean

时间:2012-05-15 16:45:39

标签: url map root stripes urlbinding

我正在为我的所有操作使用DynamicMappingFilter和带注释的网址。

我正在尝试将“/”映射到现有的actionBean。我希望“/”去的actionbean目前绑定到“/ categories”。

我找到了两种方法,但我想知道在性能方面是否有更好的方法。

我在顶部创建了一个带有@UrlBinding(“/”)的新IndexActionBean。

在其中,我可以将ForwardResolution返回到Categories类,或者我可以复制粘贴类别类代码,因为我的非常简单。

@UrlBinding("/")
public class IndexActionBean  extends AbstractActionBean {
  @DefaultHandler
  public ForwardResolution view() {
    return new ForwardResolution(ShowCategoryActionBean.class);
  }
}

它有效,但我不喜欢具有ForwardResolution的开销,特别是因为这是域的根页面并且会获得大量的网页浏览量。

我尝试使用欢迎文件,但它不适用于DynamicMappingFilter。它正在使用DispatcherServlet,例如category.action,但即使这样,我也遇到了问题,只有/正在工作,而/ category和所有其他网址都停止工作并且找不到404。

   <welcome-file-list>
    <welcome-file>category.action</welcome-file>
  </welcome-file-list>

有更好的方法吗?我不能只将@UrlBinding of / categories重命名为/因为我仍然需要/ categories,但我也希望/转发它。

2 个答案:

答案 0 :(得分:1)

在您的IndexActionBean延伸CategoriesBean而不是AbstractActionBean中:

@UrlBinding("/")
public class IndexActionBean  extends CategoriesBean {
}

这样你就可以将两个url映射到同一个动作bean。

答案 1 :(得分:0)

使用/index.jsp转发您的行动。