1.0          其他語言
 
 

3.3.1 普通葉分發器

 
 

多數情況下,一個葉分發器代表一個網路請求,也可以稱之為一個功能點。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";
        }

}