我是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