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

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

 2010-06-14 00:00:00 来源:WEB开发网   
核心提示: 上面所示的 ShowRestaurants.html 命名匹配控制器,由于 Sitebricks 使用了该约定,使用 Google Sitebricks 构建更好的 Web 应用程序(8),您不必通过配置来完成它,HTML 主要是纯 HTML;没有脚本片段(这不是一个 JSP),相应的链接就是

上面所示的 ShowRestaurants.html 命名匹配控制器。由于 Sitebricks 使用了该约定,您不必通过配置来完成它。HTML 主要是纯 HTML;没有脚本片段(这不是一个 JSP)。Sitebricks 小部件 @Repeat 用来遍历集合。评估小部件使用的是 MVEL 表达式语言。MVEL 是典型的 JSP/JSF 表达式语言的一个超集。代码创建一个餐馆表,其中每个餐馆的名称也是到 /restaurant/${restaurant.name} 的超链接。例如,如果有一个名为 TCBY 的餐馆,相应的链接就是 /restaurant/TCBY。像这样的动态 URLs 是 Sitebricks 的基本组成部分。清单 9 显示了它们如何处理示例中使用的控制器。

清单 9. RestaurantDetails 控制器

@At("/restaurant/:name") 
public class RestaurantDetails { 
  private final RestaurantDao dao; 
  private final ReviewDao reviewDao; 
  private final Logger logger; 
  private Restaurant restaurant; 
  private String text; 
  private String author; 
  private Integer rating; 
  private Integer restaurantId; 
 
  @Inject 
  public RestaurantDetails(RestaurantDao dao, ReviewDao reviewDao, Logger logger){ 
    this.dao = dao; 
    this.reviewDao = reviewDao; 
    this.logger = logger; 
  } 
 
  @Get 
  public void get(@Named("name") String name){ 
    try { 
      name = URLDecoder.decode(name, "UTF-8"); 
    } catch (UnsupportedEncodingException ex) { 
      logger.log(Level.SEVERE, null, ex); 
    } 
    this.restaurant = dao.findByName(name); 
    reviewDao.getReviewsForRestaurant(restaurant); 
  } 
 
  @Post 
  public String addReview(@Named("name") String name){ 
    try { 
      name = URLDecoder.decode(name, "UTF-8"); 
    } catch (UnsupportedEncodingException ex) { 
      logger.log(Level.SEVERE, null, ex); 
    } 
    restaurant = dao.findByName(name); 
    reviewDao.create(restaurant, text, author, rating); 
    return "/reviewrWeb/restaurant/"+restaurant.getName(); 
  } 
   
  public boolean getNoReviews() { 
    return this.restaurant.getReviews().size() == 0; 
  } 
  // getters and setters omitted for brevity   
} 

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

Tags:使用 Google Sitebricks

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