爲上節課項目添加兩個頁面傳值顯示的功能+MVC框架學習日誌

1、對test2的修改:java

上節課的理解誤區:EL表達式 ${loginName}是進行接收數據的web

要求:爲index頁面添加一個input標記,設置type屬性添加一個文本框,要求在其中輸入一段文字能夠在跳轉後的response頁面中的文本框中顯示。spring

分析:實現這個功能的過程,就是將一個JSP頁面的值先傳給servlet服務器,而後再由服務器傳遞給跳轉後的頁面顯示出來。數據庫

若想實現則是須要在業務邏輯中使用getParameter()方法獲取index中輸入的值,而後在使用setAttribute()方法來進行值的設置。servlet中修改的代碼以下:服務器

String loginadd = req.getParameter("loginadd");
req.setAttribute("loginadd",loginadd);

2、MVC框架app

MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯彙集到一個部件裏面,在改進和個性化定製界面及用戶交互的同時,不須要從新編寫業務邏輯。使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序能夠使用不一樣的表現形式。框架

補充內容:(C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。函數

Model(模型)是應用程序中用於處理應用程序數據邏輯的部分。
  一般模型對象負責在數據庫中存取數據。this

View(視圖)是應用程序中處理數據顯示的部分。
  一般視圖是依據模型數據建立的。spa

Controller(控制器)是應用程序中處理用戶交互的部分。
  一般控制器負責從視圖讀取數據,控制用戶輸入,並向模型發送數據。

3、實例分析(V-C-M-C-V)

項目:springMMVC

HelloWorldController.java(節選)

@Autowired	
HelloWorldService helloWorldService;
@RequestMapping(value = "/", method = RequestMethod.GET)public String index(Model model) {
return "helloWorld";   }
@RequestMapping(value = "/init", method = RequestMethod.POST)public String initLogin(UserBean userBean,Model model) {    
UserBean result=helloWorldService.searchUser(userBean);    
model.addAttribute("userBean", result);
return "login";

@Autowired  能夠對成員變量、方法和構造函數進行標註,來完成自動裝配的工做

@RequestMapping是經過匹配路徑URL來訪問相應頁面。用來處理請求地址映射的註解,可用於類或方法上。

 例如:@RequestMapping(value= "/", method = RequestMethod.GET)public String index(Model model) {
return "helloWorld";   }當IE頁面請求方式是GET時,按根路徑匹配,並經過return中的helloWorld跳轉到helloWorld頁面。而後執行後表單提交到init

@RequestMapping(value = "/init", method = RequestMethod.POST)public String initLogin(UserBean userBean,Model model) {    
UserBean result=helloWorldService.searchUser(userBean);    
model.addAttribute("userBean", result);
return "login";}

建立一個bean來設置uesrId屬性的get,set方法

public class UserBean {	
private String userId;	
public String getUserId(){		
return userId;	
}
public void setUserId(String userId){
	this.userId=userId;
  }
}

 

        建立一個HelloWorldService類來給uesrId賦值爲test

public class HelloWorldService {	
public UserBean searchUser(UserBean frm){	
	frm.setUserId("test");		
          return frm;
    }
}

       最後跳轉login頁面是顯示所賦的值

  ${userBean.userId};

相關文章
相關標籤/搜索