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

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

 2010-06-14 00:00:00 来源:WEB开发网   
核心提示: 示例使用 scan,这是 Sitebricks 所特有的一个 API,使用 Google Sitebricks 构建更好的 Web 应用程序(6),它接收一个 Java 包并将其内容添加到由 Sitebricks 管理的类中,稍后您将看到该类的使用方式,不过它专注于应用程序中的控制器和视图,控制

示例使用 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 
} 

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

Tags:使用 Google Sitebricks

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