美文网首页程序员
(二)工程结构需要颜值

(二)工程结构需要颜值

作者: 杀死一只程序猿 | 来源:发表于2016-03-31 10:36 被阅读96次

在这里我将第一个Spring MVC实例的结构完善得漂亮一点,这样工程看起来会更舒服,也更加方便维护。

View Resolver

我们看到在两个Controller类里,返回一个ModeAndView后者View时,参数里的View显得冗长:
InputUserController.java:

return new ModelAndView("/WEB-INF/jsp/UserForm.jsp");

SaveUserController.java:

return new ModelAndView("/WEB-INF/jsp/UserDetails.jsp", "user", user);

View部分唯一不同的就是视图名,如果能够将其他相同的部分省略或简要替代,那代码的颜值会不会上升呢?

颜值上升的方法

Spring MVC 中的视图解析器负责解析视图。可以通过在配置文件中定义一个ViewResolver来配置视图解析器。
springmvc-servlet.xml:

<beans xmlns="http://www.springframework.org/schema/beans" 
           ......
           ...... >
  <bean id="viewResolver" 
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
  </bean>
  ......
  ......

</beans>

这样一来,view路径将缩短,仅需要提供视图名,而不必再设置视图路径为/WEB-INF/jsp/试图名.jsp,视图解析器将会自动增加前缀和后缀。
相应的Controller类代码也要修改,如下所示:
InputUserController.java:

//  return new ModelAndView("/WEB-INF/jsp/UserForm.jsp");
    return new ModelAndView("UserForm");

SaveUserController.java:

//  return new ModelAndView("/WEB-INF/jsp/UserDetails.jsp", "user", user);
    return new ModelAndView("UserDetails", "user", user);

config文件夹

代码是漂亮了一点,工程结构也得同步提升。
Spring MVC的配置文件springmvc-servlet.xml在默认文件(lib)下,如今需要更名为springmvc-config.xml,且移步到/WEB-INF/config/路径下:
在WEB-INF下新建config文件夹,如图所示:

springmvc-config.xml路径

如果这里就结束了,那么项目运行得报错了,找不到DispatcherServlet。
springmvc-config.xml是由web.xml中标签<init-param>加载的,当springmvc-config.xml处于默认文件时,<init-param>不需要额外(不用声明)定义,否则得显示地定义,如下所示:
web.xml

<servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        
        <!-- 为配置文件springmvc-config.xml声明相对路径 -->
      <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/config/springmvc-config.xml</param-value>
      </init-param>
        
        <load-on-startup>1</load-on-startup>
</servlet>

以上所有如果不做,对工程的正确运行也没有丝毫影响。

相关文章

  • (二)工程结构需要颜值

    在这里我将第一个Spring MVC实例的结构完善得漂亮一点,这样工程看起来会更舒服,也更加方便维护。 View ...

  • 浓缩在手腕上的小精灵安全陪伴你的小公举

    虽然这是个需要颜值的年代,我们的人需要颜值,我们的衣着需要颜值,我们的穿戴也需要颜值。于是,360推出了这款超凡脱...

  • 优美曲线性感身形小捷科技新款力作ONE

    需要颜值的社会风气下,我们的人要讲颜值,我们的车要讲颜值,我们的手机要讲颜值,我们的食物也要讲颜值。所以我们在看待...

  • 以貌取人

    当今社会,“颜值”太重要了!许多工作岗位需要颜值,与人交往也要颜值,尤其是妙龄少女谈婚论嫁,也是把颜值放在...

  • 早餐需要颜值

    主要材料:面粉,土豆,水,鸡蛋,火腿,新鲜水果,盐 方法:先把土豆擦成丝,撒上盐,搅拌。火腿切成小粒,放入土豆丝,...

  • “颜值”需要“养”!

    近期不知道是什么磁场,过路总有异性搭讪,同路长的出于礼貌还是愿意聊几句。 今天下班,刚出...

  • Vue 笔记(四)- vue 3

    分析工程结构 二、常用 Composition API setup 理解:Vue3.0中一个新的配置项,值为一个函...

  • android 手动打包apk

    创建工程 工程目录结构图: 使用aapt编译资源 为什么资源也需要编译?其实二进制的资源(比如图片)是不需要编译的...

  • 始于颜值 二

    相识第二年 眼看着天色将晚,王俊凯在高中母校门口看了几眼,晚霞带着红色的色彩泼墨一样路过天空。 手里捏着团员档案,...

  • 颜值时代,更需要“言值”

    不同的场合,要说不同的话 衡量一个人说话分寸的试金石就是场合。就像一个正常的人发现自己在众人面前裤子拉链开了,就会...

网友评论

    本文标题:(二)工程结构需要颜值

    本文链接:https://www.haomeiwen.com/subject/ikyelttx.html