多數情況下,一個葉分發器代表一個網路請求,也可以稱之為一個功能點。VelocityWeb 中術語 "普通葉分發器" (normal leaf dispatcher) 意味著沒有失敗的葉分發器。比如,一個搜尋頁面,或者一個顯示頁面。
在普通葉分發器中,讀取 HTTP 請求資料,呼叫業務函數,將結果資料放入到 WebAppContext 中。然後 VelocityWeb 框架會顯示到結果頁面中。
這是一個例子:
public class ViewProductDispatcher extends QueryDispatcher {
public boolean process(HttpServletRequest request, WebAppContext context,
Controller controller) throws Exception {
this.setHtmlTemplateFileName("product/view_product.htm");
this.setPageTitle("View product");
String productId = request.getParameter("product_id");
ProductService service = new ProductService(context);
String productName = service.getProductNameById(productId);
List productItemList = service.getProductItemsById(productId);
context.put("product_name", productName);
context.put("product_item_list", productItemList);
context.put("view_product_item_url", DispatcherTreeManager.getUrl(ViewProductItemDispatcher.class));
context.put("add_cart_item_url", DispatcherTreeManager.getUrl(AddItemToCartDispatcher.class));
return true;
}
public String getUrlId() {
return "view_product";
}
}
|