Thymeleaf表单将带有空字段的对象发送到weblogic服务器中的控制器

时间:2017-11-28 10:52:43

标签: java spring-mvc model-view-controller thymeleaf weblogic12c

我使用百里香为我的网络应用程序。保存和更新功能存在问题。当我想从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}"/>

2 个答案:

答案 0 :(得分:1)

您的表单输入法是"multipart/form-data"。 因此,您必须将spring.http.encoding.enabled=false添加到a​​pplication.properties。

答案 1 :(得分:0)

应该是<input type="hidden" th:field="*{id}"/>而不是th:value