【问题标题】:How to map root of Web App in Stripes to an ActionBean如何将 Stripes 中 Web 应用的根映射到 ActionBean
【发布时间】:2012-05-15 16:45:38
【问题描述】:

我的所有操作都使用 DynamicMappingFilter 和带注释的 URL。

我正在尝试将“/”映射到现有的 actionBean。我想要“/”去的actionbean,当前绑定到“/categories”。

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

我创建了一个新的 IndexActionBean,顶部带有 @UrlBinding("/")。

在里面,我可以返回一个ForwardResolution给Categories类,或者我可以复制粘贴category类的代码,因为我的很简单。

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

它可以工作,但我不喜欢 ForwardResolution 的开销,特别是因为这是域的根页面,并且会获得很多浏览量。

我尝试使用欢迎文件,但它不适用于 DynamicMappingFilter。它与 DispatcherServlet 一起工作,例如 category.action,但即便如此,我还是遇到了问题,只有 / 正在工作,并且 /category 和所有其他 url 停止工作并且找不到 404。

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

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

【问题讨论】:

    标签: url map root stripes urlbinding


    【解决方案1】:

    在您的IndexActionBean 中扩展CategoriesBean 而不是AbstractActionBean 即:

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

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

    【讨论】:

      【解决方案2】:

      使用/index.jsp 转发您的操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-26
        • 1970-01-01
        相关资源
        最近更新 更多