WEB开发网
开发学院软件开发Java 使用 Google Sitebricks 构建更好的 Web 应用程序... 阅读

使用 Google Sitebricks 构建更好的 Web 应用程序

 2010-06-14 00:00:00 来源:WEB开发网   
核心提示: 注意,该类由 @At 注释,使用 Google Sitebricks 构建更好的 Web 应用程序(7),这是一个 Sitebricks 注释,"/" 值告诉 Sitebricks 将 "/" 的任何传入请求映射到该类,那么它将用于筛选所显示的餐馆列表,清

注意,该类由 @At 注释,这是一个 Sitebricks 注释。"/" 值告诉 Sitebricks 将 "/" 的任何传入请求映射到该类。这个类充当应用程序 “主页” 的控制器。

Sitebricks 密切遵循 HTTP 和 REST 约定,因此能将不同的方法用于不同的 HTTP 方法,比如 GET 和 POST。@Get 注释表明要为 GET 请求使用哪些方法。您可以随意命名方法;“get” 没有任何特殊之处。注释决定将调用什么方法。

上述类有多个成员变量。RestaurantDao 是一个用来获取页面所需数据的对象。@Inject 注释下的构造函数 ShowRestaurants 告诉 Guice 注入一个 RestaurantDao,其他成员变量 restaurants、categories 和 category 构成页面的数据模型。视图中使用了变量 restaurants 和 categories。

category 变量实际上是一个请求参数。Sitebricks 会自动将同名的请求变量绑定到该参数。例如,如果为 http://<app>?category=Thai 发出请求,那么类别就是 Thai。根据代码,如果有一个给定类别,那么它将用于筛选所显示的餐馆列表。

清单 8 显示了视图代码,它使用控制器构建的数据模型。

清单 8. ShowRestaurants 视图

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
  "http://www.w3.org/TR/html4/loose.dtd"> 
 
<html lang="en"> 
 <head> 
  <title>Reviewr</title> 
 </head> 
 <body> 
   <h1>All Restaurants</h1> 
   <form method="get"> 
     <label for="category">Select category:</label> 
     <select name="category" id="category"> 
       <option value="" label="Any"/> 
       @Repeat(items=categories, var="category") 
       <option>${category}</option> 
     </select> 
     <input type="submit" value="Filter"/> 
   </form> 
   <table border="1"> 
     <thead> 
       <tr> 
         <td>Name</td> 
         <td>Category</td> 
         <td>Average Rating</td> 
       </tr> 
     </thead> 
     <tbody> 
       @Repeat(items=restaurants, var="restaurant") 
       <tr><td><a 
href="/restaurant/${restaurant.name}">${restaurant.name}</a></td> 
<td>${restaurant.category}</td><td>${restaurant.averageRating} 
</td></tr> 
     </tbody> 
   </table> 
   <div class="msg">Not in the list? 
     <a href="/restaurants/new">Add a restaurant!</a> 
   </div> 
 </body> 
</html> 

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:使用 Google Sitebricks

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接