我创建了一个jsp页面,我从中获取了一些值,并且在提交时它应该使用rest将参数传递给java类。
< form id =“payment”method =“post”action =“addtogroup”>
< ol style =“padding:0;”>
<立GT;< label for =“groupId”>组ID:< /标签>
< input type =“text”id =“groupId”name =“groupId”/>
< br />
<立GT;< label for =“vendorId”> Profile Id:< /标签>
< input type =“text”id =“vendorId”name =“vendorId”/>
<李> <输入类型=“提交”值=“提交”/> < br /> < /醇>
< /形式>
,java代码是:
@RequestMapping(value =“/ addtogroup / {groupId} / {vendorId}”,method = RequestMethod.POST)
public String addtoGroup(@ModelAttribute("groupId") String groupId,@ModelAttribute("vendorId") String profileId){
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String username = auth.getName();
System.out.println("group id is="+groupId);
System.out.println("profileId is="+profileId);
System.out.println("username is="+username);
grpDao.addToGroup(groupId,profileId,username);
return "addtogroup";
}
当我在地址栏中直接键入[http:// localhost:8080 / biznex / rest / addtogroup / 2/13]时,代码就会被执行。 但是当我点击jsp中的提交按钮时,我找不到页面错误。 请帮助我。
答案 0 :(得分:2)
< form id="payment" method="post" action="addtogroup">
此声明表示使用POST方法将FORM数据提交到网址“currentpath”/“addtogroup”
但是,您的RESTFUL服务器端组件需要GET方法中/addtogoup/{groupid}/{vendorid}
形式的URL
我建议您使用JavaScript方法将表单字段转换为URI路径 - 使用jQuery或纯JavaScript
答案 1 :(得分:0)
正如thewhiterabbit所写,您必须使用groupid和vendorid传递完整的REST URL。
为了构建它,你不需要使用JS,它就足够了spring标签库。在这里,它是如何工作的:
<spring:url value="/addtogoup/${form.groupid}/${form.vendorid}" var="actionURL"/>
<form:form method="POST" action="${actionURL}" modelAttribute="form">