我是Springmvc3的新手,正在看一个jQuery Handsontable示例。
这是我的jsp页面中包含表单的部分
<form:form action="${pageContext.request.contextPath}/app/${application.id}/user/bulkImport" method="POST">
<div id="dataTable"></div>
<script>
var data = [
["156428", "admin,SCC,Superuser"],
["839302", "SCC"]
];
$("#dataTable").handsontable({
data: data,
startRows: 3,
startCols: 2
});
</script>
<script>
function submitEntries(){
alert("in");
var tableData = $("#dataTable").handsontable("getData");
var formDataJson = JSON.stringify({"data":tableData});
jQuery.ajax({
url: 'bulkImport',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: formDataJson,
'success': function (e) {
var resultString = 'saved';
$('#serverResults').html(resultString);
}
});
}
</script>
控制器:
@RequestMapping(value="/bulkImport", method = RequestMethod.POST)
public String importUsers(@RequestBody BulkUserImportEntries entries)
throws Exception {
Iterator itr = entries.getData().iterator();
while(itr.hasNext()) {
Object obj = (Object)itr.next();
}
return "redirect:/app/{appId}/user/{id}";
}
类:
public class BulkUserImportEntries implements Serializable{
private List<Object[]> data;
protected BulkUserImportEntries() {}
protected BulkUserImportEntries(List<Object[]> data) {
this.data = data;
}
public List<Object[]> getData() {
return data;
}
}
当提交表单时,我得到了这个错误。
不支持内容类型“application/x-www-form-urlencoded”
我希望从jsp接收值数组,以便能够在控制器上迭代它。我在示例中看到这是可能的,但这是使用modelAttribute。我还是个新手,已经在这里呆了一个星期了:(
谢谢你的帮助
问题是,当我们使用application/x-www-form-urlencoded时,Spring并不将其理解为RequestBody。因此,如果我们想使用它,我们必须删除@RequestBody注释。
然后尝试以下方法:
@RequestMapping(value="/bulkImport", method = RequestMethod.POST, consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
public String importUsers(BulkUserImportEntries entries) throws Exception {
Iterator itr = entries.getData().iterator();
while(itr.hasNext()) {
Object obj = (Object)itr.next();
}
return "redirect:/app/{appId}/user/{id}";
}
注意,删除了注释@RequestBody和add consumes=MediaType。应用程序\u表单\u URL编码\u值
答:内容类型为application/x-www-form-urlencoded的Http Post请求在Spring中不起作用
基于用Spring@Controller编码的x-www-form-Url问题的答案 我写了下面的@Controller方法 以下错误导致请求失败 [附言:泽西岛要友好得多,但考虑到这里的实际限制,现在不能使用它]
@PostMapping public UserResponse createUser(@RequestBody UserRequest userDetail){ 这是我收到的错误代码 } 我尝试了很多不同的方法仍然没有得到解决方案这是来自邮递员的图片来自邮递员的图片
我以前有ElasticSearch 5.2,刚刚升级到6.0。 我试图创建一个索引模板以下指南在这里,但得到了错误 我的问题是
这是我使用jax rs客户端执行请求的代码: .... 我收到错误: javax。ws。rs.ProcessingException:RESTEASY004655:无法调用请求:javax。ws。rs.ProcessingException:RESTEASY003215:找不到内容类型应用程序/x-www-form-urlencoded-type:javax的编写器。ws。rs.core。类型 这
我正在Eclipse Enterprise中通过Spring框架而不是Spring Boot编写一个MVC项目。使用Postman,我将向我的方法发送一个json对象: 但是在Eclipse中,我收到了这个错误: 我认为这与我的pom.xml和依赖有关: pom中是否有任何内容。xml我应该更改吗? 其他细节如网络。xml: -servlet.xml
我正在使用MediaType中的“resteasy客户端”库发送POST请求。申请表格编码类型。 示例代码: Maven依赖项 连接工作正常,并在使用POSTMAN请求时发送正确的响应 但是在请求使用程序后,它会创建错误 回应: javax.ws.rs.处理异常:找不到内容类型应用程序的编写器/x-www-form-urlencoded类型 请帮忙。。。