2017-08-27 55 views
0

我有一個jsp頁面,下拉菜單和2個按鈕提交和取消。 基於下拉的值和點擊的按鈕,不同的jsppage應該是opend。RequestedMapping與多個參數

以我控制器I用於與下拉的值和butto作爲PARAM一個請求映射所以對於取消將這個被@RequestMapping(PARAM =「取消」)

因此,當鏈接等於?取消=真正的方法得到執行,但是當我點擊我的取消按鈕時,url是?cancel =,這會導致404。我怎樣才能讓它返回true?

另外,如果我有第二個參數,我必須將其包含在我的聲明中,還是我只能使用年齡?我嘗試了兩種方法,並且做得更好。

最後,如果我必須包括所有的參數,我可以使用通配符的值?

我收錄了我的代碼,但請記住我正在嘗試我的botten,所以我的控制器類尚未完成。

的ageSelector.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<html> 
<head> 
    <title>Select your age</title> 
</head> 
<body> 
<form> 
    &nbsp; &nbsp; &nbsp;<button type="submit" name="submit"  
    formaction="submit">submit</button> 
    &nbsp; &nbsp; &nbsp; &nbsp; 
    <button type="cancel" name="cancel" formaction="cancel">cancel</button> 
</form> 
</body> 
</html> 

我只記得我打消了我的測試下拉...

我controllerclass:

@Controller 
@RequestMapping("ages") 
public class AgeController { 
    @RequestMapping(params="submit") 
    public String handleSubmit(){ 
     return "childern"; 
    } 

    @RequestMapping(params="cancel") 
    public String handleCancel(){ 
     return "cancel"; 
    } 

    @RequestMapping() 
    public String handleDefault(){ 
     return "ageSelection"; 
    } 
} 

我認爲這是有關人的信息你需要。 對不起我的蹩腳英語我不是本地人。

回答

0

您可以在同一頁面上兩個不同的提交形式:

<form> 
    <button type="submit" name="submit" formaction="submit">submit</button> 
</form> 
<form> 
    <button type="submit" name="cancel" formaction="cancel">cancel</button> 
</form> 

BTW,最好有映射到不同的方法,這兩個動作中你的路徑,而不是參數(只是更自然的方式)控制器:

@Controller 
@RequestMapping("ages") 
public class AgeController { 

    @RequestMapping("/submit") 
    public String handleSubmit(){ 
     return "childern"; 
    } 

    @RequestMapping("/cancel") 
    public String handleCancel(){ 
     return "cancel"; 
    } 

    @RequestMapping 
    public String handleDefault(){ 
     return "ageSelection"; 
    } 
} 
+0

是的,但後來我提交butto:

<form name="submitionForm" action="submit"> <button type="submit">submit</button> </form> <form name="cancellationForm" action="cancel"> <button type="submit">cancel</button> </form> 
在控制器

然後ñ應該工作,而且一個dosn't工作要麼 –

+0

我已經更新了我的答案,讓我知道它是否有幫助。 –

+0

我明白你在說什麼,但沒有爲我工作 –