2012-05-25 67 views
0

我在控制器一個RequestMapping:彈簧RequestMapping PARAMS屬性IE 405

@Controller 
class aController{ 
... 

@RequestMapping("/action", method=RequestMethod.POST, params="actionName"){ 
//some logic 
} 
} 

在JSP:

<form action="/action" type="POST"> 
<input type="submit" name="actionName" value="actionName"> 
<input type="submit" name="xyz" value="XYZ"> 
</form> 

的問題是從JSP請求當使用鉻或Firefox瀏覽器被映射。但在IE中,它無法鎖定到請求映射,因爲IE處理按鈕名稱的方式。要解決這個問題,我必須添加以下內容:

<input type="hidden" name="actionName" value="actionName"/> 

的問題是有幾頁有多個按鍵映射到不同的RequestMapping(PARAMS =「」)。我不想開始在任何地方添加隱藏的字段。有沒有更好的方法來解決這個愚蠢的IE問題?

回答

0

我用一個隱藏字段的值傳遞按鈕的需要actionName解決了IE的問題:

<input type="hidden" name="actionName" value="actionName"> 

該解決方案解決了我面臨的IE瀏覽器的問題。

0

據我,你應該使用JavaScript來處理您提交按鈕的onclick事件,然後從功能,你可以改變你的表單標籤的作用。嘗試將所需的參數添加到操作中,並將表單方法聲明爲GET。

我想這應該解決您的問題。

乾杯。

+0

這將是它忽略了問題的方法。在你建議的解決方案中,將POST轉換爲GET請求並不總是可能的,特別是在表單處理中,並且同時忽略使用params屬性的Spring RequestMapping註釋不可取。另外,正如我在問題中提到的,當我使用Firefox和Chrome時,請求會映射到Controller。它只是導致問題的IE。 –