我在Controller中有以下内容:
@RequestMapping(
value = "/update",
params = {"new_profile_image"},
method = RequestMethod.POST)
public ModelAndView updateUserProfileImage(
@RequestParam(value = "new_profile_image") CommonsMultipartFile newProfileImage,
ModelMap model) {
System.out.println("controller executed!");
if(newProfileImage != null && !newProfileImage.isEmpty()) {
updateService.updateUserProfileImage(newProfileImage.getBytes());
}
return new ModelAndView("redirect:/users/my_profile");
}
<form action="<c:url value='/users/update?${_csrf.parameterName}=${_csrf.token}' />" method="post" enctype="multipart/form-data">
<input name="new_profile_image" type="file" id="new_profile_image">
<button type="submit" class="btn btn-primary">Update</button>
</form>
美国中部时间2020年2月8日19:08:10出现意外错误(类型=错误请求,状态=400)。未能将类型“java.lang.String”的值转换为所需类型“java.lang.Long”;嵌套异常是java.lang.NumberFormatException:对于输入字符串:“Update”
字符串“Controller Execured!”
从不显示在控制台中。我更改了RequestMapping注释中的值=“/updateImage”
和操作=“
操作=“
嵌套异常的错误消息是
我不知道出了什么问题,在Eclipse的控制台中也没有异常显示。
编辑:我忘了说控制器在类级别有
requestmapping(“/users”)
。
现在,我在控制器
value=“/update”
中更改了value=“/updateImage”
,但是我在jsp页面中保留了action=“
,错误仍然是:
Whitelabel错误页面此应用程序没有针对/Error的显式映射,因此您将其视为一种后退。
美国中部时间2020年2月8日19:08:10出现意外错误(类型=错误请求,状态=400)。未能将类型“java.lang.String”的值转换为所需类型“java.lang.Long”;嵌套异常是java.lang.NumberFormatException:对于输入字符串:“Update”
我想请求甚至没有到达控制器。
最后,我通过从@requestmapping
中删除params
属性来解决这个问题。因此,控制器的最终结果是:
@RequestMapping(
value = "/updateImage",
method = RequestMethod.POST)
public ModelAndView updateUserProfileImage(
@RequestParam(value = "new_profile_image", required = true) CommonsMultipartFile newProfileImage,
ModelMap model) {
System.out.println("controller executed!");
if(newProfileImage != null && !newProfileImage.isEmpty()) {
updateService.updateUserProfileImage(newProfileImage.getBytes());
}
return new ModelAndView("redirect:/users/my_profile");
}
在其他方法中,我已经将params
属性与post请求一起使用,并且它很有效,我想这里的问题与请求是一个多部分的请求有关。但我真的不知道实际的口才是什么。
我不确定我是否错过了一些真正基本的东西,但这是我想做的。 我想对这个地址进行rest API调用: https://localhost:8080/fetchlocation?lat=-26.2041028和lng=28.0473051和radius=500 我想这是因为当我进行GET调用时,rest API接收的坐标是字符串而不是long。我如何确保rest API在调用时得到的是长值而不是字符串
org.springframework.beans.ConversionNotSupportedException:未能将类型“java.lang.long”的属性值转换为属性“card”所需的类型“card”;嵌套异常是java.lang.IllegalStateException:无法将类型“java.lang.Long”的值转换为属性“Card”所需的类型“Card”:找不到匹配的编辑器或转
我想在json中以的形式发布上面的字符串日期,但我收到了400个错误请求。有人能帮忙吗。我使用过,但它也没有帮助我。
这是控制器代码部分: 我收到这条消息: 出现错误(类型=错误请求,状态=400)。无法将类型[java.lang.String]的值转换为所需类型[java.util.Date];嵌套异常为org.springframework.core.convert.conversionfailedexception:无法将值“Wed Jun 08 00:00:00 WET 2016”从类型[java.lan
我有两个实体,它们使用一个主键互相引用,主键是一个实体的整数。我不确定我做这件事的方式是否正确。 下面是引用主键id为int的实体 下面是我们从上面的实体中将外键设置为Kmichango kandaMchango的实体。 这里是表单的一部分,我在这里提交了用户在jumuiya_michango_form.html中提供的数据 下面是我的控制器中用于链接到表单和发布数据的两个方法 在我提交表单后,我
我正在处理一个Spring批量需求。在我的项目中,我在一个单独的util包中编写了一个转换器类作为实用程序类。我正在读写到MySQL数据库的CSV文件。 [未能将类型“java.lang.String”的属性值转换为属性“id_type”所需的类型“java.lang.Integer” 在我的模型类中,id_type是Integer类型,那么为什么它说“未能将属性值字符串转换为Integer?”