在thymeleaf上的createForm.html,updateForm.html之间共享'form fragment'

时间:2013-12-03 05:02:25

标签: spring thymeleaf

我在春天使用百里香。

我不想生成重复的html页面createForm.html和updateForm.html。 也许它需要副本和糊。

我的代码如下。

<form class="form-horizontal" role="form" th:action="${!template.new@{/templates}" method="post"
th:object="${template}">
...
</form>

如果模板在保存(=创建)之前,则操作为'/ templates'。

当tempalte在保存(=更新)后,操作为'/ templates / UUID / edit'。

=&GT;这是轨道惯例。

2 个答案:

答案 0 :(得分:0)

您还可以将此地址添加到ModelMap
modelMap.add("address", "/templates")
th:action="@{${address}}"

答案 1 :(得分:0)

<强> HTML

            <div class="form-group">
                <label for="objectName">Name</label>
                <input type="text" class="form-control" th:value="${object.name}" name="name"
                       id="objectName" placeholder="Name"/>
            </div>
  

底部HTML

 <div class="table-responsive">
            <table class="table table-bordered table-hover table-striped">
                <thead>
                <tr>
                    <th>Name 1</th>
                    <th>Name 2</th>
                    <th>Name 3</th>
                </tr>
                </thead>
                <tbody>
                <tr data-th-each="eachObject : ${obj}">
                    <td><a data-th-text="${eachObject.name}" th:href="@PATH/edit?Name=}+${eachObject.name}">...</a></td>
                    <td data-th-text="${eachObject.name2}">...</td>
                    <td data-th-text="${eachObject.name3}">...</td>
                    <td><a th:href="@{/PATH/delete?objname=}+${eachObject.name}">delete</a></td>
                </tr>
                </tbody>
            </table>
        </div>
  

<强>控制器

@RequestMapping(value = "/create",method = RequestMethod.GET)
    public String createMethod(Model model) {
        Object obj = new Object();
        model.addAttribute("Object", obj);    
        return "htmlpage";
    }
  

<强>控制器

 @RequestMapping(value = "/form/save", method = RequestMethod.POST)
    public String campaignPost(@ModelAttribute("object") Object obj, Principle prin, Model model){
 service.save(obj);
}