2007-04-19
spring mvc循序渐进(4)
关键字: spring第十五步——连接视图和控制器
现在控制器定义的视图路径是全名路径,这就在控制器和视图之间建立了一种不确定的关联。比较理想的方法是视图的映射使用一个局部名称,这允许我们不修改控制器也可以定位视图。如果使用ResourceBundleViewResolver 和SimpleUrlHandlerMapping 类,你可以用一个properties文件来存放视图的映射。如果你需要简便的映射的话,在InternalResourceViewResolver对象中设置前缀和扩展名将是一件很轻松的事。我们现在就使用这种方式,让我们修改springapp-servlet.xml并且包含这个viewResolver 作为入口。我们选用可以把JSTL和消息群结合起来同时也支持国际化的JstlView 。
springapp/war/WEB-INF/springapp-servlet.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
- <!-- - Application context definition for "springapp" DispatcherServlet. -->
- <bean id="springappController" class="SpringappController"/>
- <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
- <property name="mappings">
- <props>
- <prop key="/hello.htm">springappController</prop>
- </props>
- </property>
- </bean>
- <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="viewClass"><value>org.springframework.web.servlet.view.JstlView</value></property>
- <property name="prefix"><value>/WEB-INF/jsp/</value></property>
- <property name="suffix"><value>.jsp</value></property>
- </bean>
- </beans>
上面添加了一个viewResolver,所以视图名称就可以移去前缀和扩展名了。
springapp/src/SpringappController.java
- import org.springframework.web.servlet.mvc.Controller;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- public class SpringappController implements Controller
- {
- /** Logger for this class and subclasses */
- protected final Log logger = LogFactory.getLog(getClass());
- public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException
- {
- String now = (new java.util.Date()).toString();
- logger.info("returning hello view with " + now);
- return new ModelAndView("hello", "now", now);
- }
- }
运行ant,重启tomcat,程序照样能运行。
发表评论
- 浏览: 7618 次

- 详细资料
搜索本博客
最新评论
-
spring mvc循序渐进(6)
辞职了,没时间写了
-- by aninfeel -
spring mvc循序渐进(6)
楼主继续后面的哈,测试那里有点没看懂
-- by gowhere -
javascript控制html dom
Dom.这是Dom规范要实现的东西. 不只Javascript, 在.net里操 ...
-- by 白发红颜 -
javascript控制html dom
像getElementById(),getElementsByTagName() ...
-- by just4you -
javascript控制html dom
w3cshcool办得不错,其文章言骇意简--当初学XML,用WEBZIP把整个 ...
-- by sp42






评论排行榜