SpringMvc-10.10
1.處理模型數據
如果跳轉時需要帶數據:V、M,則可以使用以下方式:
ModelAndView、ModelMap、Map、Model ---------------> 數據放在了request作用域
@SessionAttributes、@ModelAttribute
示例:
public String testModel(Model model 或者 Map<String,Object> m) {
m.put(x,"…"); 就會將x對象放入request域中
如何將上述數據放入session中?@SessionAttributes(…)
@ModelAttribute
i.經常在更新時使用
ii.在不改變原有代碼的基礎之上,插入一個新方法。
通過@ModelAttribute修飾的方法,會在每次請求前先執行;
并且該方法的參數map.put()可以將對象放入即將查詢的參數中,
必須滿足的約定:
map.put(k,v)其中的k必須是即將查詢的方法參數的首字母小寫,
testModelAttribute(Student xxx),即student。
如果不一致,需要通過@ModelAttribute聲明。如下:
@ModelAttribute//在任何一次請求前,都會先執行@ModelAttribute修飾的方法
public void queryStudentById(Map<String,Object> map) {
//StuentService stuService = new StudentServiceImpl();
//Student student = stuService.queryStudentById(31);
//模擬調用三層查詢數據庫的操作
Student student = new Student();
student.setId(31);
student.setName("zs");
student.setAge(23);
map.put("stu", student) ;//約定:map的key就是方法參數類型的首字母小寫
}
//修改:zs-ls
@RequestMapping(value="testModelAttribute")
public String testModelAttribute(@ModelAttribute("stu")Student student) {
student.setName(student.getName());//student.setName("ls");將名字修改為前端傳來的值ls
System.out.println(student.getId()+","+student.getName()+","+student.getAge());
return "success";
}
一個Servlet對應一個功能:增刪改查對應于4個Servlet
更新:Servlet---------SpringMVC的Controller
查詢
@ModelAttribute
public void query()
{
}
修改
public String update()
{
}
@ModelAttribute會在該類的每個方法執行前均被執行一次。
2.視圖、視圖解析器
視圖的頂級接口:View
視圖解析器的頂級接口:ViewResolver
常見的視圖和解析器:
InternalResourceView、InternalResourceViewResolver
public class JstlView extends InternalResourceView:
springMVC解析jsp時會默認使用InternalResourceView,
如果發現Jsp中包含了jstl語言相關的內容,則自動轉為JstlView。
JstlView可以解析jstl實現國際化操作
國際化:針對不同地區、不同國家,進行不同的顯示
中國:(大陸、香港) 歡迎
美國: welcome
i18n_zh_CH.properties(base_zh_CH.properties)
resource.welcome=你好
resource.exist=退出
i18n.properties(base.properties)
具體實現國際化步驟:
a.創建資源文件
基名_語言_地區.properties
基名_語言.properties
b.配置springmvc.xml,加載資源文件
ResourceBundleMessageSource會在springmvc響應程序時介入(解析國際化資源文件)
c.通過jstl使用國際化
jstl.jar standar.jar
springmvc在啟動時,會自動查找一個id="messageSource"的bean,如果有則自動加載
智能推薦
springMVC
學習springMVC需要Javaweb的基礎,有需要的朋友可以先看看這兩篇博客再來學習此篇內容會容易接受些:JavaWeb基礎知識點之Servlet,JavaWeb基礎知識點。 一、什么是MVC MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,...
SpringMVC
MVC架構 MVC是一種著名的設計模式,特別是在 Web 應用程序領域。模式全都是關于將包含業務數據的模塊與顯示模塊的視圖解耦的。這是怎樣發生的?視圖(例如,JSP 頁面)怎樣能夠與其模型(例如,包含數據的 JavaBean)解耦?記得這句格言么?一個層次的重定向幾乎可以解決計算機業中的所有問題。確實,在模型和視圖之間引入重定向層可以解決問題...
SpringMVC
SpringMVC 參考網站how2java教程 一,springmvc入門 ###1,導入jar包### 2,配置web.xml### DispatcherServlet的作用: 1、文件上傳解析,如果請求類型是multipart將通過MultipartResolver進行文件上傳解析; 2、通過HandlerMapping,將請求映射到處理器(返回一個HandlerExecutionChain...
springMVC
springMVC入門 MVC簡介 MVC是一種架構模式 程序分工,分工合作,既相互獨立,又協同工作,分為三次,模型層,視圖層,控制層. MVC是一種思考方式 View : 視圖層 ,為用戶提供UI,終點關注數據的呈現,為用戶提供界面. Model : 模型層,業務數據的信息標識,關注支撐業務的信息構成, 通常是多個業務實體的組合 Controller : 控制層 , 調用業務邏輯產生合適的數據(...
猜你喜歡
springmvc
springmvc主要由 一個DispatcherServlet(不需要開發),三個組件:處理器映射器,處理器適配器,視圖解析器(不需要開發) hanlder(需要開發),view(需要開發)組成 架構流程 用戶發送請求至前端控制器DispatcherServlet DispatcherServlet收到請求調用HandlerMapping處理器映射器。 處理器映射器根...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...