使用 Google Sitebricks 构建更好的 Web 应用程序
2010-06-14 00:00:00 来源:WEB开发网示例使用 scan,这是 Sitebricks 所特有的一个 API。它接收一个 Java 包并将其内容添加到由 Sitebricks 管理的类中。稍后您将看到该类的使用方式。
目前为止,您已经完成了应用程序需要的所有配置。大多数配置实际上是特定于应用程序的,比如在 AppInjector 中进行的所有绑定调用。它们并非必需的,但是这样做可以通过 Guice 使业务逻辑的编写更容易。如果您想要的只是 Sitebricks,那么就只需要 web.xml 和 scan 调用。配置完成后,就可以编写应用程序逻辑了。
显示结果
应用程序的第一页将展示系统中的所有餐馆,并让用户基于餐馆供应的食品类型筛选餐馆列表。Sitebricks 是一种模型-视图-控制(MVC)类型的框架,不过它专注于应用程序中的控制器和视图。控制器是简单的 Java 类。显示所有餐馆的控制器如清单 7 所示。
清单 7. ShowRestaurants 控制器
@At("/")
public class ShowRestaurants {
private List<Restaurant> restaurants;
private String category;
private LinkedHashSet<String> categories;
private final RestaurantDao dao;
@Inject
public ShowRestaurants(RestaurantDao dao){
this.dao = dao;
}
@Get
public void get(){
this.restaurants = dao.findAll();
categories = new LinkedHashSet<String>(restaurants.size());
for (Restaurant restaurant : restaurants){
categories.add(restaurant.getCategory());
}
if (category != null && category.trim().length() > 0){
List<Restaurant> filtered = new ArrayList<Restaurant>
(restaurants.size());
for (Restaurant restaurant : restaurants){
if (restaurant.getCategory().equalsIgnoreCase(category)){
filtered.add(restaurant);
}
}
restaurants = filtered;
}
}
// getters and setters omitted for brevity
}
Tags:使用 Google Sitebricks
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接