zoukankan      html  css  js  c++  java
  • 3.SpringMVC修改配置文件路径和给界面传递数据

    1.修改配置文件路径  达到  配置多文件的目的

    web.xml文件中基础配置有springMVC配置的servlet路径

    <servlet-name>SpringMVC</servlet-name>
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    同时还有,配置加载顺序的:

    <load-on-startup>1</load-on-startup>

    我们如果需要加载其他地方的多个springMVC配置文件,就需要在代码中加入如下代码:

       <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:config/*-servlet.xml</param-value>
       </init-param>

    需要注意的是:加入的代码必须放在<servlet-class>...</servlet-class>与<load-on-startup>...</load-on-startup>之间。

    其中<param-name>contextConfigLocation</param-name>为参数的配置,所需要的参数可以在org.springframework.web.servlet.DispatcherServlet中得到。

    classpath

    不带*的话只会默认用第一个配置文件,如果不带*,多人协作的时候会导致同一个被修改出现错误。

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <servlet>
    <!--基础配置有springMVC配置的servlet路径-->
    <servlet-name>SpringMVC</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--如果需要加载其他地方的多个springMVC配置文件-->
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:config/SpringMVC-servlet.xml</param-value>
    <!--classpath*代表在src下寻找config文件夹再在其中寻找以-servlet.xml文件结尾的文件-->
    </init-param>
    <!--配置加载顺序的-->
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>SpringMVC</servlet-name>
    <url-pattern>/</url-pattern><!-- 拦截所有请求 -->
    </servlet-mapping>
    </web-app>

    当然为了防止将来的配置文件太多不容易区分,则所有的配置文件尽量不要放在WEB-INF里面,所以新建了一个config文件包来放

    /SpringMVC1/src/config/SpringMVC-servlet.xml

    1、如果将spring配置文件放置在web工程的WEB-INF下, web.xml配置spring文件方式:

     
    1. <context-param>  
    2.     <param-name>contextConfigLocation</param-name>  
    3.     <param-value>/WEB-INF/spring-xxx.xml</param-value>        
    4. </context-param>  

    2、如果将spring配置文件放置在web工程的SRC源目录下,web.xml配置spring文件方式:

     
    1. <context-param>  
    2.     <param-name>contextConfigLocation</param-name>  
    3.     <param-value>classpath*:spring-xxx.xml</param-value>      
    4. </context-param>  

    多个spring-xxx.xml需要用逗号分隔。

    2.给界面传递数据

    在springMVC的配置文件中,已经配置了<bean>如下:

     <bean name="/test1/helloworld"  class="controller.HelloController"></bean>

    /test1/helloworld 为访问项目的路径

    //传递数据可以传递 字符串   map 

    ①传递 字符串

    EL表达式去显示出我们取的值。

    ②传递map

    在配置的bean的java文件中的handleRequest方法。这一步只是为了构造数据:

    System.out.println("-------进入HelloSpringMVCController类--------");
      String hello = "测试:spring数据从后台传入页面";

      Map<String,Object> map = new HashMap<String,Object>();
      map.put("map1", "第一个map");
      map.put("map2", "第二个map");
      map.put("map3", "第三个map");
      map.put("map4", "第四个map");
      //return new ModelAndView("/hello","StringResult",hello);//返回String类型的数据到页面
      return new ModelAndView("/hello","mapResult",map);//返回map类型的数据到页面

    在写jsp页面之前需要导入两个jar文件,分别为jstl.jar与standard.jar,用 jstl 表达式 和 el 表达式

    在hello.jsp页面中首先需要导入jar包

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

    然后加入如下代码

     你好SpringMVC!!!<br/>
        <div>
         <h3>后台数据显示:</h3>
         <!-- 获得String类型的数据 -->
         <!--  ${StringResult }-->
         <!-- 获得map类型的数据 -->
         <c:forEach items="${mapResult}" var="mapVar">
          ${mapVar.key }----------->${mapVar.value }<br/>
         
         </c:forEach>
        </div>

    这样就可以将后台的数据显示在页面上了。

  • 相关阅读:
    正则表达式运用到json断言与响应断言
    接口测试基础
    Jmeter接口测试流程
    性能测试基本概念
    数据库简介以及增删改查
    接口测试流程
    svn安装手册
    postman基本操作
    MySql数据库知识总结
    Liunx测试环境搭建详解
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/5704427.html
Copyright © 2011-2022 走看看