2012-11-15 51 views
2

我想使用Struts DispacthAction方法執行一些操作,但是我不想讓它任何jsp都支持它;我們可以用void返回類型編寫struts dispatchAction方法嗎?

我可以用void來寫調度方法嗎? 例如:

public void perform(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request,HttpServletResponse response) 
    throws Exception { 
    System.out.println(); 
} 

回答

3

您的方法必須返回一個ActionForward,不void這是Struts中執行方法的合同,您必須尊重合同或您的代碼不起作用。

有可能返回null而不是ActionForward對象,但這很棘手,因爲請求調度程序將僅返回。響應的當前內容將發送給客戶端,如果您不是自己管理響應,您可能會得到一個空白頁面。

1

如文件中所述,您的方法必須具有返回類型「ActionForward」而不是void。
我不明白你爲什麼不希望將你的回覆轉發給任何其他頁面。
如果你要轉發到另一個動作你的迴應,你可以通過簡單地提供在struts-config.xml中的forward標籤操作路徑做到這一點,像

<forward name="success" path="/doAction.do"> 
相關問題