Thymeleafとjsのインタラクション

5633 ワード

プロジェクトではthymeleafというテンプレートを使用していますが、パラメータの前後伝達が面倒であることを発見し、まとめました.
 
 
1.js java Controlにdataを渡す
http://dk05408.iteye.com/blog/2101469で見ることができます
2.dataからJava Controllerからjsにデータを渡す
個々のパラメータを渡す
     java
	@RequestMapping(value="/test",method = RequestMethod.POST)
	public String submit(String name,Model model){
		//String name = request.getParameter("name");
       // mailClient.send("[email protected]", name);		
		model.addAttribute("username",name);
		model.addAttribute("go","ggggggg");
		return "account/testhome";
	}

 
 
 testhome.js
 
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
	  xmlns:social="http://spring.io/springsocial"
	  xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
	  layout:decorator="layout">
	<head>
		<title>         </title>
	</head>
	<body>
		<div id="content" layout:fragment="content" >
			<h1>Result</h1>
		    <p>Today is: <span th:text="${username}">13 February 2011</span></p>
		    <p>The TestString Is: <span th:text="${go}">ready..</span></p>
		    <a href="">   </a>
		</div>	
	</body>
</html>

 
 
 
転送Entity
java
@RequestMapping(value="/register", method=RequestMethod.POST)
	public String registerFormSubmit(@ModelAttribute CredentialUser user,Model model){
		//register.registerAccount(user.getUsername(),"", "");
		//auth.register(user.getUsername(), user.getPassword());
		model.addAttribute("user", user);
		return "account/phonevalidation";
	}

 
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
	  xmlns:social="http://spring.io/springsocial"
	  xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
	  layout:decorator="layout">
	<head>
		<title>         </title>
	</head>
	<body>
		<div id="content" layout:fragment="content" >
			<h1>Result</h1>
		    <p th:text="'     : ' + ${user.username}" />
		    <p th:text="'      :' + ${user.password}" />
		    <a href="">   </a>
		</div>	
	</body>
</html>

 
 3.パラメータとしてListを渡す
 
	@RequestMapping(value="/test",method = RequestMethod.POST)
	public String submit(String name,Model model){	
		model.addAttribute("username",name);
		model.addAttribute("go","ggggggg");
		List<Account> accounts = new ArrayList<Account>();
		for (int i = 0; i < 10; i++) {
			Account account = new Account();
			account.setId(Long.valueOf(i));
			account.setUsername("username"+i);
			account.setAddress("    "+i);
			accounts.add(account);
		}
		model.addAttribute("accounts", accounts);
		return "account/testhome";
	}

 
 
 
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:social="http://spring.io/springsocial" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
	layout:decorator="layout">
<head>
<title>         </title>
</head>
<body>
	<div id="content" layout:fragment="content">
		<h1>Result</h1>
		<p>
			Today is:
			<span th:text="${username}">13 February 2011</span>
		</p>
		<p>
			The TestString Is:
			<span th:text="${go}">ready..</span>
		</p>
		<a href="">   </a>
		<p><table>
			<tr th:each="account : ${accounts}">
			<td th:text="${account.username}">...</td>
			<td th:text="${account.address}">...</td>
		</tr>
	</table>
		</p>
		
	</div>
	
	
</body>
</html>

 
結果:
Thymeleaf与js交互