我是Struts2的新手,來自PHP背景,我經常有相同的文件處理GET和POST請求,如果請求是POST,處理表單請求。在struts2中通過GET或POST控制操作方法
我目前擁有的在struts.xml中以下內容:
<action name="ProcessData" class="ProcessDataAction">
<result name="*">processdata.jsp</result>
</action>
<action name="ProcessDataUpload" class="ProcessDataAction" method="upload">
<result name="*">processsdata.jsp</result>
</action>
,工作正常,但困擾我的是,處理文章的網址是不同的,因爲現在如果用戶重新加載頁面時,他們得到的錯誤而不是簡單地看到GET頁面的內容。
所以我的問題是,有什麼辦法告訴struts2調用一個方法,如果它是一個GET請求,另一種方法,如果它是一個POST請求?
您必須在您的Action類中使用req.getMethod()來區分GET和POST並相應地放置您的邏輯。 – Reddy
@Reddy:將這樣的邏輯放在動作類中不會擴展,因爲您需要然後在所有您想要的行爲中複製邏輯。這對於攔截器或者動作映射器來說更是一份工作。 –
當一個頁面發送數據到一個行動爲什麼要關心,如果它來自後或獲得?你當然可以把許多動作放在一個文件中,但爲什麼要一個文件,或者一個用於GET,另一個用於POST是令人困惑的。 – Quaternion