• BeanNameViewResolver类简介说明


    转自:

    BeanNameViewResolver类简介说明

    下文笔者讲述BeanNameViewResolver类的简介说明,如下所示:

    BeanNameViewResolver视图解析器同XmlViewResolver相同,
    都是使用逻辑视图名称同bean对象进行匹配解析
    

    例:   使用模板生成excel文件

    控制器配置control-context.xml
    
    
     
        
            
        
    
    
    
        
          
            viewController
        
      
    
    
    Excel视图ExcelView.java
    
    public class ExcelView extends AbstractExcelView {
        protected void buildExcelDocument(Map model,
                HSSFWorkbook wb, HttpServletRequest request, HttpServletResponse reqponse)
                throws Exception {
            
            //...
             Object[] datas = (Object[]) model.get("data");
            //...        
            
            HSSFSheet sheet;
            //get the sheet 1 in template
            sheet = wb.getSheetAt(0);
            //handle this sheet
            //...
        }
    }
    
    实现 org.springframework.web.servlet.view.document.AbstractExcelView 类中的 buildExcelDocument方法。
    
    3. ViewController控制器 ViewController.java
    public class ViewController extends MultiActionController {
        private DataModel dataModel;
        public void setDataModel(DataModel dataModel){
            this.dataModel = dataModel;
        }
        
        public ModelAndView exportToExcel(HttpServletRequest request, HttpServletResponse response) throws Exception {
            Map model=new HashMap();
            Object[] datas;
            datas = dataModel.getDatas.toArray();
            model.put("data", datas);
            ExcelView excelView = new ExcelView();
            excelView.setApplicationContext(this.getWebApplicationContext());
            excelView.setUrl("/WEB-INF/Template");
            
            return new ModelAndView(excelView,model);
        }
    }
    
    4. 配置web.xml
    
       viewController
       org.springframework.web.servlet.DispatcherServlet
       
           contextConfigLocation
           /WEB-INF/config/control-context.xml
       
       1
    
    
       viewController
       *.report
    
    
    5. 运行http://hostname/view/exportToExcel.report
    

    例2: TestView

    1.在SpringMVC配置文件中添加BeanNameViewResolver
    
      
          
         
    
      
      
          
          
    
    
    2.创建一个TestView类,实现View接口
    
    import java.util.Date;  
    import java.util.Map;  
    import javax.servlet.http.HttpServletRequest;  
    import javax.servlet.http.HttpServletResponse;  
    import org.springframework.stereotype.Component;  
    import org.springframework.web.servlet.View;  
    
    @Component  
    public class TestView implements View{  
        public String getContentType() {  
            // TODO Auto-generated method stub  
            return "text/html";  
        }  
        public void render(Map model, HttpServletRequest request,  
                HttpServletResponse response) throws Exception {  
            // TODO Auto-generated method stub  
            response.getWriter().print("Welcome to View:"+new Date());   
        }  
    }
    
    3.创建控制器
    import org.springframework.stereotype.Controller;  
    import org.springframework.web.bind.annotation.RequestMapping;  
      
    @RequestMapping(value="/springmvc")  
    @Controller  
    public class MyView {  
        @RequestMapping(value="/testMyView")  
        public String testView(){  
            System.out.println("testView");  
            return "helloView";
        }  
    }
    
    此时return的是视图名的第一个字母小写
    springmvc会根据这个helloView名,去getBean,得到这个视图对象
  • 相关阅读:
    【AIGC专题】Stable Diffusion 从入门到企业级实战0601
    imx6获取和同步时间
    如何面试网络安全NISP面试官通常会问什么(四)NISP管理中心
    SPC5777CDK3MMO4 IC MCU 32BIT,SPC5777CDK3MME3
    Canal-1.1.6推送数据至Elasticsearch7.16.2(整合版)
    gin 框架出现runtime error: index out of range [0] with length 0
    华为OD机试真题-分积木-2023年OD统一考试(B卷)
    Elasticsearch:验证 Elasticsearch Docker 镜像并安装 Elasticsearch
    麒麟系统开发笔记(五):制作安装麒麟系统的启动U盘、物理机安装麒麟系统以及搭建Qt开发环境
    Matlab:在不同区域设置之间共享代码和数据
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/127782495