一、概述。
在很多企業(yè)的開(kāi)法中常常用到SpringMVC+Spring+Hibernate(mybatis)這樣的架構(gòu),SpringMVC相當(dāng)于Struts是頁(yè)面到Contorller直接的交互的框架也是界面把信息傳輸?shù)紺ontorller層的一種架構(gòu),通過(guò)這個(gè)架構(gòu)可以讓我們把頁(yè)面和Contorller層解耦,使得開(kāi)發(fā)人員的分工更加明確。
二、代碼演示。
1、首先配置SpringMVC環(huán)境。
1.1導(dǎo)入jar。
值得注意的是紅色標(biāo)記的commons-logging這個(gè)jar包一定得引入進(jìn)去不然會(huì)報(bào)錯(cuò)。
1.2、xml配置文件。
web.xml
springMVC
org.springframework.web.servlet.DispatcherServlet
1
springMVC
*.spring
index.jsp
springMVC-servlet.xml
xmlns:xsi="" xmlns:p=""
xmlns:context=""
xsi:schemaLocation="
">
2、前臺(tái)界面代碼。
login.jsp
username:
password:
No.jsp
No!
Ok.jsp
OK! welcome:${username}
3、Contorller層接收前臺(tái)的兩種方式。
方式一:
利用@RequestParam這個(gè)注解
package com.gaowei.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class Login {
//方式一
@RequestMapping("/login")
public String login(@RequestParam("username") String username,
@RequestParam("password") String password,Model model){
if (username.equals(password))
{
model.addAttribute("username", username);
return "ok.jsp";
} else {
return "no.jsp";
}
}
}
方式二:
package com.gaowei.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class Login {
@RequestMapping("/login")
public String login(String username,String password,Model model){
if (username.equals(password))
{
model.addAttribute("username", username);
return "ok.jsp";
} else {
return "no.jsp";
}
}
}
4、界面結(jié)果。
第一種傳值方式:
第二種傳值方式:
三、總結(jié)。
這里體現(xiàn)出了SpringMVC傳值方式的多樣性滿足了開(kāi)發(fā)人員的不同需求。第一種用來(lái)表單的提交。第二種用來(lái)界面間相互傳值,也為了方便開(kāi)發(fā)人員利用AJAX。