我有一个带有dropdownmenu的jsp页面,提交和取消2个按钮。 根据下拉列表的值和单击的按钮,应该打开另一个jsppage。
在我的控制器中,我使用了一个请求映射,其中包含dropdown和butto的值作为参数,因此对于取消,这将是@RequestMapping(param ="取消")
所以当url等于?cancel = true时,方法会被执行,但是当我点击我的取消按钮时,url是?cancel =,这会产生404.如何让它返回true?
另外,如果我有第二个参数,我是否必须将其包含在我的陈述中,还是只能使用年龄?我试过了两个并且更好了。
最后,如果我必须包含所有参数,我可以使用通配符作为值吗?
我包含了我的代码,但请记住我正在尝试我的僵尸,所以我的控制器类还没有完成。
ageSelector.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Select your age</title>
</head>
<body>
<form>
<button type="submit" name="submit"
formaction="submit">submit</button>
<button type="cancel" name="cancel" formaction="cancel">cancel</button>
</form>
</body>
</html>
我记得我删除了我的下拉列表进行测试...
我的控制器类:
@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 :(得分:0)
您可以在同一页面上拥有两个不同的提交表单:
<form>
<button type="submit" name="submit" formaction="submit">submit</button>
</form>
<form>
<button type="submit" name="cancel" formaction="cancel">cancel</button>
</form>
顺便说一句,最好让这两个动作通过路径而不是参数(更自然的方式)映射到控制器内的不同方法:
<form name="submitionForm" action="submit">
<button type="submit">submit</button>
</form>
<form name="cancellationForm" action="cancel">
<button type="submit">cancel</button>
</form>
然后在你的控制器中:
@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";
}
}