Spring Boot 整合Thymeleaf 之表單提交 問題

問題描述:
整合Form表單提交的時候 因爲參考網上的示例 致使出了問題html

參考網頁以下:java

http://blog.csdn.net/asd_op/article/details/53232039spring

示例中,建立Entity對象,控制器編寫,express

Html編寫[問題就出在這裏 form 中的 th:object="${****}" 屬性的話,若是在進入頁面的時候,不給Model 設置一個這樣的屬性 ,報錯!!!  因此要去掉,或者手動給一個空對象] app

<form action="#" th:action="@{/add}" th:object="${message}" method="post">  
  <input type="text" th:field="*{info}" />  
  <input type="submit" />  
</form>

解決方案①:post

@ModelAttribute
    User setUser () {
        return new User ();
    }

解決方案②:lua

在進行上一步操做的時候 return  String.Class <返回的就是form表單這個頁面> 以前經過 model.set.net

就方案二 試驗了不少種組合 記錄一下code

1、返回值單個對象的時候orm

//控制器代碼
@RequestMapping("/user")
    public String toUserPage(Model model){
        List<User> users = userService.findAll();
        User user = users.get(0);
        //當model 設置的是單個 對象進去
        model.addAttribute("user" , user);
        return "userPage";
    }
//Html代碼
<form th:action="@{/add}" th:object="${user}" method="post" >
......
<tr>
<td><input type="text" id="userName" name="userName" th:value="*{userName}" /></td>
<td><input type="text" id="nickName" name="nickName" th:value="*{nickName}" /></td>
<td><input type="text" id="age" name="age" th:value="*{age}" /></td>
<td><input type="text" id="passWord" name="passWord" th:value="*{passWord}" /></td>
<td><input type="submit" value="新增"/></td>
</tr>
th:value="*{屬性名稱}" th:field="*{屬性名稱}" 
th:value="${user.屬性名稱}" th:field="${user.屬性名稱}"
可行__且有數據回顯 [能夠用來作修改使用]

th:value="${屬性名稱}" 頁面可加載,不過沒有數據回顯 [能夠修改,不回顯數據]
th:field="${屬性名稱}" 頁面直接沒法加載

2、返回值List 多個對象的時候

//控制器代碼
@RequestMapping("/user")
    public String toUserPage(Model model){
        List<User> user = userService.findAll();
        //當model 設置的是集合 多個對象進去
        model.addAttribute("user" , user);
        return "userPage";
    }
//Html代碼
<form th:action="@{/add}" th:object="${user}" method="post" >
......
<tr>
<td><input type="text" id="userName" name="userName" th:value="*{userName}" /></td>
<td><input type="text" id="nickName" name="nickName" th:value="*{nickName}" /></td>
<td><input type="text" id="age" name="age" th:value="*{age}" /></td>
<td><input type="text" id="passWord" name="passWord" th:value="*{passWord}" /></td>
<td><input type="submit" value="新增"/></td>
</tr>

th:value="${user[i].屬性名稱}" 加載以及回顯
th:value="${屬性名稱}" 頁面可加載,不過沒有數據回顯 [能夠修改,不回顯數據]

下面的都是頁面都出不來的狀況:
th:value="*{屬性名稱}"
th:value="*{user.屬性名稱}"
th:value="${user.屬性名稱}"
th:value="*{user[i].屬性名稱}"
ERROR:Exception evaluating SpringEL expression: "user[0].userName" (userPage:37)
//------------------------------//
th:field="*{屬性名稱}"
th:field="*{user.屬性名稱}"
th:field="${user[i].屬性名稱}"
th:field="${屬性名稱}" 頁面直接沒法加載 
Error:Error during execution of processor 'org.thymeleaf.spring4.processor.attr.SpringInputGeneralFieldAttrProcessor'
相關文章
相關標籤/搜索