2011-03-06 19 views
2

我有一個名爲HomeActionBean的動作bean,Stripes綁定到了URL「Home.action」。 URL綁定起作用。現在,我想用「Home.action」作爲我歡迎文件,如下所示:如何使用Stripes動作作爲我的Web應用程序的歡迎文件?

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

這不會從條紋快速入門指南默認配置工作。我得到錯誤

一個請求將它傳遞給Stripes的某些部分而不被包裝在StripesRequestWrapper中。 [...]

我想通了,我可以做,如果我加入一行

<dispatcher>FORWARD</dispatcher> 

我的web.xml這樣它的工作:

<filter-mapping> 
    <filter-name>StripesFilter</filter-name> 
    <servlet-name>StripesDispatcher</servlet-name> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
</filter-mapping> 

我的問題是:這是使用Stripes動作作爲歡迎文件的適當方式嗎?將「FORWARD」添加到我的web.xml中是否有其他可能不需要的後果?

回答

1

一個動作豆綁定到你應該使用主頁網址:@UrlBinding("/")這樣的:

@UrlBinding("/") 
public class HomepageAction { 
    // .. action bean code.. 
} 
+0

謝謝,成功了!還有一件事:爲了使這項工作,我必須通過給它的url模式「/」使StripesDispatcher成爲應用程序的默認servlet。作爲一名Stripes初學者,我不太確定這種影響。但我的猜測是這是一件好事。現在我應該重寫方法handleActionBeanNotFound和/或findBasedActionResolver以優雅地處理無用的請求,對吧? – 2011-03-06 22:19:00

+1

使用該URL模式,您可以指示Stripes控制器將處理所有請求。 Stripes控制器會將這些請求委託給正確的動作bean,如果沒有人能夠匹配,它將以404響應。這對於任何Web服務器都是正常的行爲,我不確定在哪種情況下正確地想要響應任何URL接收。但是你可以讓動作bean處理404,請參閱:http://permalink.gmane.org/gmane.comp.java.stripes.user/10617 – Kdeveloper 2011-03-07 11:16:12

相關問題