以百里香的形式传播物体

时间:2016-08-03 12:46:11

标签: java spring thymeleaf

我有一个包含两个表单的页面,并且在提交第二个表单时想要从第一个表单添加对象。基本上它看起来像这样: 第一种形式:

<form action="#" method="POST" enctype="multipart/form-data" th:action="@{/foo}" th:object="${prop1}" id="form1">
    <input type="file" name="file" class="form-control"/>
    <input type="text" th:value="${prop1.taskSheetName}" name="taskSheetName"/>
    <input type="number" th:value="${prop1.descriptionColumnPosition}" name="descriptionColumnPosition"/>
</form>

第二种形式:

<form th:if="${resourceId}" action="#" method=" th:object="${prop2}" id="prop2" th:action="@{/foo/{id}(id=${resourceId})}">
    <input type="url" th:value="${prop2.url}" name="url"/>
    <input type="text" th:value="${prop2.username}" name="username"/>
    <input type="password" th:value="${prop2.password}" name="password"/>
</form>

和控制器方法:

@RequestMapping(value = "/foo", method = POST)
public String uploadFile(@RequestParam("file") MultipartFile file, final ExcelProperties properties, final Model model) {
    //some logic here
}

@RequestMapping(value = "/process/{id}", method = POST)
public String processResource(@PathVariable("id") String id, final Prop2 prop2, final Prop1 prop1, final Model model) {
}

我需要将第一个表单值的值传递给第二个表单值的第二个方法,但它传递空表单对象。我试着添加

<div th:with="p1=${prop1}">

因为我知道这个数据存在于页面中,但它没有帮助 如果这甚至可能,或者我应该放弃并在javascript中编写自定义提交处理程序?

1 个答案:

答案 0 :(得分:2)

根据MDN,不可能将1个输入附加到2个表单中,

你需要使用JavaScript做一些工作。