2009-09-23 25 views
0

我上一個Struts application.Now工作,我有一個奇怪的situation.The當前應用程序有一個配置文件是這樣的Struts的幫助需要

<action path="/validate" type="test1Action" scope="request" validate="false"> 
      <forward name="cat1" path="path1/value1"/> 
      <forward name="cat2" path="path1/value2"/> 
      <forward name="cat3" path="path1/value3"/> 
      <forward name="failure" path="path1"/> 
      <forward name="failed" path="emptysession"/> 
     </action> 

現在的問題是,如果我添加一個新的Action類test2Action我必須將類型更改爲test2Action,並且在test2Action中我只有三個返回變量,即

cat1,失敗,失敗。 現在cat1應該調用test1Action。 我想要做的是在JSP和Action類之間插入一個動作類。任何人都可以幫助我?

回答

1

我認爲你需要更新的struts-config有:

<action path="/validate" type="test1Action" scope="request" validate="false"> 
    <forward name="cat1" path="validateTest2Action.do"/> 
    <forward name="cat2" path="path1/value2"/> 
    <forward name="cat3" path="path1/value3"/> 
    <forward name="failure" path="path1"/> 
    <forward name="failed" path="emptysession"/> 
</action> 

<action path="/validateTest2Action" type="test2Action" scope="request" validate="false"> 
    <forward name="cat1" path="path1/value1"/> 
    <forward name="failure" path="path1"/> 
    <forward name="failed" path="emptysession"/> 
</action> 
1

我去拿下來投給了這一點,但是,很好哦。

如果你剛剛開始,那麼我會完全放棄Struts 1。前往Struts 2或Stripes。 Struts 1今天不存在任何可兌換的品質,保存遺留的代碼。

如果您使用的是舊版代碼集,那麼您可以做的事情就不多了。

如果你現在可以選擇保護它,那麼我現在很快就會運行,遠離Struts 1並選擇其他的東西。生命太短暫了。

+0

不能浪費1年的時間 – Harish 2009-09-23 17:33:10

+0

@Will:如果您擔心,請將其作爲評論發佈。 – 2009-09-23 17:34:37

+0

我不會讓你失望,因爲我同意「放棄Struts1」的思路,但OP確實說「當前的應用程序已經......」,所以他顯然正在研究一個現有的項目。此外,Struts2和Stripes都不是**,比Struts1好得多:-) – ChssPly76 2009-09-23 17:34:50