2017-08-27 35 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

我明白你在说什么,但没有为我工作 –