2012-05-15 4 views
1

Я использую DynamicMappingFilter и аннотированные URL-адреса для всех моих действий.Как сопоставить корень веб-приложения в Stripes с ActionBean

Я пытаюсь сопоставить «/» с существующим действием. Действие, к которому я хочу «/» перейти, в настоящее время связано с «/ категориями».

Я нашел два пути, но мне интересно, есть ли лучший способ с точки зрения производительности.

Я создал новый IndexActionBean с @UrlBinding ("/") вверху.

Внутри этого я могу вернуть класс ForwardResolution классу категорий, или я могу скопировать вставку кода класса категории в нем, так как мой очень прост.

@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> 

Любые лучшие способы? Я не могу просто переименовать @UrlBinding/categories в /, потому что мне все еще нужны/категории, но я хочу/переслать его.

ответ

1

В вашей IndexActionBean продлить CategoriesBean, а не AbstractActionBean что:

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

Так что вы можете иметь два URL, сопоставляется с того же компонента действия.

0

Используйте /index.jsp, чтобы отправить свое действие.

 Смежные вопросы

  • Нет связанных вопросов^_^