- 一点感想。坚持真不是件容易事,特别是坚持每天写点什么。今天搞了会儿SpringMVC后又学了节英语口语,就这个点了,差点就有不想写的冲动。
- 遗留问题。昨天纠结的那个问题今天还是没能得到解决。下了个XmlBuddy插件,重启Eclipse配置了半天,还是没能出现自动提示,谁能帮帮我。罢了,暂时留下这个问题吧。
- 言归正传。昨天实现了一个简单的映射,从Url到页面控制器。今天继续添加了一点配置
UrlBasedViewResolver,一个基础的视图解析策略。定义了这个Bean之后,需定义ViewClass这个属性值为JstlView这个类。这个有什么用呢?据说其一是一个流程规定:Spring就必须叫你这么做了;其二是关于国际化的。这个后面再深究。当然前缀和后缀必不可少,也就是要解析的文件的目录地址和后缀名称。定义好了之后,在Controller端返回一个ModelAndView<bean class = "org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name = "ViewClass" value = "org.springframework.web.servlet.view.JstlView" /> <property name = "prefix" value = "WEB-INF/views/"/> <property name = "suffix" value = ".jsp"/> </bean>
package com.home.module; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; public class FirstController implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { return new ModelAndView("first"); } }
这样一来,启动tomcat,访问localhost:8080/Home/first.home,就可以访问到我定义好的Jsp文件了。不过运行时出现了一个问题 NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config。 查了一下http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/jakarta-taglibs-standard-1.1.2.zip
下载好上面这个放到WEB-INF/lib下便好了。
如上的整个流程明天再捋一捋。另外还搞了个简单url映射类
<bean id = "loginController" class = "org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
<bean class = "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name = "mappings">
<props>
<prop key = "first.home">firstController</prop>
<prop key = "login.home">loginController</prop>
</props>
</property>
</bean>
loginController的映射添加上去后,直接定义UrlFilenameViewController的bean就可以了,和上头返回ModelAndView一样。这个类也就提供个方便:不做其他处理只作页面定向的时候,不用再去写Controller的Java文件。
- 总之。总之今天也没多大进度,主要是加班多下班晚时间少。时间,得多挤挤。