我使用百里香为我的网络应用程序。保存和更新功能存在问题。当我想从ui保存广告系列时,广告系列对象字段将为空来控制器类。这个问题只出现在weblogic服务器(12.1.3)中。当我在tomcat服务器中尝试它时,不会发生任何错误。
我的编辑和创建页面如下。竞选活动有几个领域,但我在这里写了一些。顺便说一句,我确信所有字段都在html页面中准备好了。其中一些是隐藏的,其中一些是可见的。
<div class="row">
<form name="Form" class="col s8 offset-s2" id="upload-file-form"
enctype="multipart/form-data" th:object="${campaign}"
th:action="@{/admin/getCampaign}" onsubmit="return validateForm()"
method="post">
<div class="row">
<input type="hidden" th:field="*{id}"/>
<input type="hidden" th:field="*{version}"/>
</div>
<div class="row">
<div class="input-field">
<input id="brandname" type="text" class="validate" th:field="*{brandname}">
<label for="brandname">Brand Name</label>
</div>
</div>
</form>
</div>
@RequestMapping(value = "admin/getCampaign", method = RequestMethod.POST)
public String uploadingPost(@RequestParam("uploadingFiles") MultipartFile[] uploadingFiles,
@RequestParam("uploadingFiles1") MultipartFile[] uploadingFiles1,
@RequestParam("uploadingFiles2") MultipartFile[] uploadingFiles2,
@RequestParam("uploadingFiles3") MultipartFile[] uploadingFiles3,
Campaign campaign) throws IOException {
/** this is my controller method for save or update.
*/
}
in weblogic server campaign parameter fields come null (as a new object), but in tomcat server, everything is normal.
更新:
我将我的ui字段更改为this帖子的值。但问题还在继续。
<input type="hidden" th:value="*{id}"/>
答案 0 :(得分:1)
您的表单输入法是"multipart/form-data"
。
因此,您必须将spring.http.encoding.enabled=false
添加到application.properties。
答案 1 :(得分:0)
应该是<input type="hidden" th:field="*{id}"/>
而不是th:value