restlet2.1 学习笔记(七) 与Freemarker结合返回Html视图

如果服务端要返回一个html视图给客户端。那么可以使用freemarker插件。

加入:org.restlet.ext.freemarker.jar   org.freemarker.jar

第一步:编写html模板 movieinfo.ftl

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>movie info</title>
<style type="text/css">

table{
	width: 500px;
	height: 500px;
	border-collapse: collapse;
}

tr{
	height: 30px;
	line-height: 30px;
}

td{
	border: 1px solid;
}

</style>
</head>
<body>
	
	<table>
		
		<tr>
			<td>name:</td>
			<td>${movie.name}</td>
		</tr>
		
		<tr>
			<td>size:</td>
			<td>${movie.size}</td>
		</tr>
		
		<tr>
			<td>minutes:</td>
			<td>${movie.minutes}</td>
		</tr>
		
	</table>
	
</body>
</html>

第二步:编写服务端

	@Get
	public Representation getMovieInfo() throws IOException{
		
		Movie movie = new Movie() ;
		movie.setName("速度与激情6");
		movie.setSize(100000l);
		movie.setMinutes(120);
		
		Map<String, Object> dataModel = new HashMap<String, Object>();
		dataModel.put("movie", movie) ;
		
		//获取freemarker模版
		Representation movieFtl = new ClientResource(
				LocalReference.createClapReference(getClass().getPackage())+ "/movieinfo.ftl").get();
		
		return new TemplateRepresentation( movieFtl , dataModel , MediaType.TEXT_HTML) ;
	}


第三步:启动服务器,并使用浏览器访问http://localhost:8888 就可以看到html样式的输出了。

你可能感兴趣的:(restlet2.1 学习笔记(七) 与Freemarker结合返回Html视图)