IndexDelegateAction
package com.gt.kathleen.http.action.api;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.text.View;
import org.springframework.web.servlet.ModelAndView;
public class IndexDelegateAction {
public ModelAndView index(HttpServletRequest req, HttpServletResponse resp) {
System.out.println(" index ========== >>>");
return new ModelAndView("index", "date", new Long(System.currentTimeMillis()));
}
public ModelAndView indexOne(HttpServletRequest req, HttpServletResponse resp) {
System.out.println(" indexOne ========== >>>");
return new ModelAndView("index", "date", new Long(System.currentTimeMillis()));
}
public ModelAndView findOwners(HttpServletRequest req, HttpServletResponse resp) {
System.out.println(" findOwnersForm view ========== >>>");
return new ModelAndView("findOwnersForm");
}
public ModelAndView velocityView(HttpServletRequest req, HttpServletResponse resp) {
System.out.println(" velocityView view ========== >>>");
return new ModelAndView("velocityViewName");
}
public ModelAndView findOwners2(HttpServletRequest req, HttpServletResponse resp) {
System.out.println(" findOwners view========== >>>");
return new ModelAndView("findOwners");
}
public ModelAndView indexTwo(HttpServletRequest req, HttpServletResponse resp,Object command) {
System.out.println(" indexTwo ========== >>> command" + command);
return new ModelAndView("index", "date", new Long(System.currentTimeMillis()));
}
public Map indexThree(HttpServletRequest req, HttpServletResponse resp) {
System.out.println(" indexThree ========== >>>");
return new HashMap();
}
public void indexFour(HttpServletRequest req, HttpServletResponse resp) {
System.out.println(" indexFour ========== >>>");
//return new ModelAndView("index", "date", new Long(System.currentTimeMillis()));
}
}
views_zh_TW.properties
#welcomeView.class=org.springframework.web.servlet.view.tiles.TilesView
#welcomeView.url=welcome (<b>this is the name of a definition</b>)
velocityViewName.(class)=org.springframework.web.servlet.view.velocity.VelocityView
velocityViewName.url=velocityView.vm
findOwnersForm.(class)=org.springframework.web.servlet.view.JstlView
findOwnersForm.url=/WEB-INF/jsp/kathleen/findOwners.jsp
kathleen_servletContext-api.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 设置委托的 multiActionController Action -->
<bean id="indexActionController" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
<property name="methodNameResolver" ref="propsMethodNameResolver"/>
<property name="delegate" ef="indexDelegate"/>
</bean>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="order" value="1"/>
<property name="alwaysUseFullPath" value="true"/>
<property name="interceptors">
<list><ref bean="logInterceptor" /></list>
</property>
<property name="mappings">
<props>
<!--
<prop key="/wap/main.do">avcVideoMultiAction</prop> <prop
key="/wap/index.do">avcVideoMultiAction</prop> <prop
key="/**/index.do">indexActionController</prop> <prop
key="/action/*book.do">indexActionController</prop>
设置被被处理的 请求的URL
-->
<prop key="/**/index.do">indexActionController</prop>
</props>
</property>
</bean>
<bean id="propsMethodNameResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<!--
Simple URL 里面所有 /**/index.do 请求 都交给 indexDelegateAction 处理 if
urlMap="/index.do" 则request请求只能匹配 <prop key="/*/index.do">index</prop>
-->
<property name="mappings">
<props>
<prop key="/*/index.do">index</prop>
<prop key="/**/index.do">indexOne</prop>
<prop key="/index.do">indexTwo</prop>
<prop key="/**/action/index.do">indexThree</prop>
<prop key="/*/action/index.do">findOwners</prop>
<prop key="/*/velocity/index.do">velocityView</prop>
</props>
<!--
<value> 这里不能随意修改 后缀的.. .do .html .go 要依照web.xml 文件的配置
<servlet-mapping> <servlet-name>dispatchServlet</servlet-name>
<url-pattern>*.do</url-pattern> </servlet-mapping> /*/index.do=index
/**/index.form=indexOne /**/index.html=indexTwo
/**/index.go=indexThree /*/action/index.action=indexFour </value>
-->
</property>
</bean>
<bean id="kathleen_paraMethodResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="action"/>
<property name="defaultMethodName" value="index"/>
</bean>
<bean id="indexDelegate" class="com.gt.kathleen.http.action.api.IndexDelegateAction"></bean>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="order" value="2"/>
</bean>
<bean name="/editaccount.do" class="com.gt.kathleen.http.action.api.EditAccountAction">
<property name="cacheSeconds" value="120"/>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/kathleen/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- jstl 视图Resovler springMVC 内定处理的就是 jsp 如果不显示设置的话 默认 就是这个 resolver -->
<bean id="viewResolver2" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/other/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- 资源文件绑定处理 resolver -->
<bean id="resourceViewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="order" value="1"></property>
<property name="basename" value="views" />
<property name="defaultParentView" value="parentView" />
</bean>
<!-- .vm resovler -->
<bean class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.velocity.VelocityView">
</property>
<!-- 这里不允许加前缀
需要在 velocityConfig 设置 查找的路经
<property name="resourceLoaderPath" value="/WEB-INF/velocity/"/>
-->
<property name="prefix" value=""/>
<property name="suffix" value=".vm"/>
</bean>
<!--
This bean sets up the Velocity environment for us based on a root path for templates.
Optionally, a properties file can be specified for more control over the Velocity
environment, but the defaults are pretty sane for file based template loading.
视图渲染技术 order 只能 使用一个
就是Order 最新小的 哪一个
不想 handldermapping 那样具有chaining 概念
要想使用 多种视图 请使 org.springframework.web.servlet.view.ResourceBundleViewResolver 视图技术
-->
<!-- 要使用 velocity 技术 需要 设置 这个东西 -->
<bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer" singleton="true">
<!--
<property name="resourceLoaderPath" value="/WEB-INF/velocity/"/>
<property name="configLocation"><value>/WEB-INF/velocity.properties</value></property>
-->
<property name="velocityProperties">
<props>
<prop key="resource.loader">file</prop>
<prop key="file.resource.loader.class">org.apache.velocity.runtime.resource.loader.FileResourceLoader</prop>
<prop key="file.resource.loader.path">/WEB-INF/velocity/</prop>
<prop key="file.resource.loader.cache">false</prop>
</props>
</property>
</bean>
</beans>
- 大小: 77.1 KB
分享到:
相关推荐
6. **视图解析器(View Resolver)**:它根据逻辑视图名查找并加载对应的物理视图。例如,如果逻辑视图名为"home",视图解析器可能会将其转换为"/WEB-INF/jsp/home.jsp"。 7. **拦截器(Interceptor)**:可以注册拦截...
在SpringMVC中,实现文件上传需要配置MultipartResolver,通常使用CommonsMultipartFile来处理上传的文件。用户通过表单提交文件,后端通过Controller接收并保存到服务器。关键步骤包括:设置允许上传的文件类型和...
- 使用MultipartFile接口处理文件上传,配置MultipartResolver来处理multipart请求。 13. **异常处理**: - 可以通过@ControllerAdvice和@ExceptionHandler全局处理异常,提高代码的可读性和可维护性。 14. **...
2. **配置GraphQL服务**:创建GraphQL的执行环境,包括schema定义、resolver实现,以及如何将GraphQL请求与SpringMVC控制器关联起来。 3. **编写schema**:定义GraphQL的类型和查询、突变操作,这是GraphQL的核心...
在视图层,SpringMVC使用View Resolver解析逻辑视图名到实际的视图资源,如JSP页面。登录成功后,我们可能会重定向到主页面,逻辑视图名可能是"main",对应的物理视图可能是"/WEB-INF/jsp/main.jsp"。在JSP页面中,...
4. **视图解析器(View Resolver)**:它根据Controller返回的逻辑视图名解析成实际的视图资源,如JSP、Thymeleaf等。在配置文件中,你需要设置视图解析器的前缀和后缀。 5. **注解驱动**:SpringMVC支持使用注解来...
2. 配置SpringMVC的MultipartResolver,如`CommonsMultipartResolver`,以处理文件上传。 3. 在控制器中,创建一个方法处理POST请求,接收`MultipartFile`和String参数。 4. 保存图片到服务器,可能需要将文件移动到...
10. **MultipartResolver**:处理文件上传的组件,使得SpringMVC可以方便地处理multipart/form-data类型的请求。 11. **RESTful API**:SpringMVC支持创建RESTful风格的Web服务,通过HTTP动词(GET、POST、PUT、...
View Resolver 视图解析器 * 根据逻辑视图名生成真正的视图 * 在 SpringMVC 中使用 View 对象表示 View 视图 * jsp 页面,仅用于数据展示,没有业务逻辑 注解开发 * 使用注解方式的处理器映射器和适配器 * 需要...
然后在`spring-mvc-config.xml`中配置View Resolver和其它Spring MVC相关的bean。 **运行与测试** 完成上述配置后,我们可以使用Maven的`mvn clean install`命令构建项目,然后将生成的war文件部署到Tomcat服务器上...
在使用springMVC进行系统实现时,springMVC默认的解析器里面...但如果你想使用springMVC对文件上传的解析器来处理文件上传的时候就需要在spring的applicationContext里面加上springMVC提供的MultipartResolver的申明。
这些配置包括视图解析器(View Resolver)、处理器映射器(Handler Mapping)、处理器适配器(Handler Adapter)等。 4. **编写Controller**: - 创建一个简单的Controller类,通常使用@Controller注解标记。在这...
3. 视图解析器(View Resolver):根据模型数据和逻辑视图名,确定实际的视图资源。 4. 配置文件(如spring-servlet.xml):配置SpringMVC的组件,如处理器映射器、视图解析器等。 接下来,我们关注Tomcat服务器。...
在这个阶段,我们还会了解到SpringMVC的核心组件和流程,包括处理器映射(Handler Mapping)、控制器(Controller)、视图解析器(View Resolver)等。 随后,教程会深入讲解DispatcherServlet。DispatcherServlet...
在完成了业务处理后,SpringMVC会将结果封装成Model,然后通过视图解析器(View Resolver)定位到对应的视图模板,如JSP、Thymeleaf等。视图模板负责将Model中的数据渲染成用户可见的页面。在这个名片系统中,用户...
5. **视图解析器(View Resolver)**: 改造可能包括调整视图解析器的配置,比如从JSP切换到Thymeleaf,或者改变视图名称的前缀和后缀。这会影响到视图层的渲染方式和资源定位。 6. **参数绑定和验证**: ...
7. **视图解析器(View Resolver)**: 视图解析器负责根据模型中的视图名找到实际的视图(如JSP页面)。 8. **视图(View)**: 视图负责展示数据,通常是一个模板引擎,如JSP或Thymeleaf,它们可以从模型中获取...
5. **视图解析器(View Resolver)**:`DispatcherServlet`接收到ModelAndView后,会使用视图解析器来解析视图名,得到具体的视图对象。视图解析器根据视图名找到对应的视图组件(如JSP页面),并将其返回给`...