99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

3.8.Controller

2023-07-03 17:44 更新
BDF2中提供了一個類似于Spring MVC或Struts MVC的Controller(實際上Dorado7的Controller利用的就是SpringMVC實現(xiàn)的),但相比Spring MVC或StrutsMVC,BDF2中提供的Controller功能更為簡單,可控度及靈活性也更高,之前我們提到的用于在系統(tǒng)第一次使用初始化系統(tǒng)菜單時訪問的http://localhost:8080/bdf2-dynamic-web-project/generate.system.menu.action地址,其中的generate.system.menu.action就是利用BDF2中Controller功能提供。
要定義一個BDF2中的Controller,我們需要編寫一個IController接口的實現(xiàn)類,這個接口源碼如下:
IController接口源碼
package com.bstek.bdf2.core.controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * 實現(xiàn)該接口,并將類注冊到Spring就可以通過指定的URL訪問執(zhí)行其中的execute方法體
 * @author Jacky.gao
 * @since 2013-2-21
 */
public interface IController {
 String getUrl();
 void execute(HttpServletRequest request,HttpServletResponse response) throws IOException,
ServletException;
 boolean anonymousAccess();
 boolean isDisabled();
}
這個接口定義了四個方法,第一個getUrl方法就是用于定義這個Controller訪問地址的,比如之前的generate.system.menu.action,它的getUrl方法返回值就是/generate.system.menu,可以看到URL定義時要以/開頭,同時后面不能添加.action;第二個方法execute就是我們業(yè)務(wù)方法執(zhí)行的地方;第三個方法anonymousAccess就是這個Controller是否允許用戶在未登錄的情況下訪問,返回false,表示允許未登錄訪問,否則必須要登錄才能訪問這個Controller;最后一個就是是否禁用這個Controller,為false就可以正常訪問,否則就不能訪問。

值得注意的是,Controller定義好之后,訪問的地址是getUrl方法返回的字符串+"."+"action",這里的.action是BDF2Controller訪問的默認(rèn)URL后綴,這個值由bdf2.controllerSuffix屬性決定,這個屬性值默認(rèn)為action,所以我們訪問Controller的地址為:getUrl方法返回的字符串+"."+"action",當(dāng)然一般情況下,這個屬性值是沒必要修改的。

IController接口實現(xiàn)類編寫完成之后,需要將其配置到Spring當(dāng)中,變成一個標(biāo)準(zhǔn)的Spring(不要指定這個bean的ID),這樣我們就可以像訪問generate.system.menu.action這個Controller一樣訪問我們新定義的Controller了。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號