Spring MVC学习(四)-------Controller接口控制器详解3
来源:互联网 发布:马航mh370真相 知乎 编辑:程序博客网 时间:2024/06/06 20:04
4.11、AbstractWizardFormController
- public class UserModel {
- private String username;
- private String password;
- private String realname; //真实姓名
- private WorkInfoModel workInfo;
- private SchoolInfoModel schoolInfo;
- //省略getter/setter
- }
- public class SchoolInfoModel {
- private String schoolType; //学校类型:高中、中专、大学
- private String schoolName; //学校名称
- private String specialty; //专业
- //省略getter/setter
- }
- public class WorkInfoModel {
- private String city; //所在城市
- private String job; //职位
- private String year; //工作年限
- //省略getter/setter
- }
- package cn.javass.chapter4.web.controller;
- //省略import
- public class InfoFillWizardFormController extends AbstractWizardFormController {
- public InfoFillWizardFormController() {
- setCommandClass(UserModel.class);
- setCommandName("user");
- }
- protected Map referenceData(HttpServletRequest request, int page) throws Exception {
- Map map = new HashMap();
- if(page==1) { //如果是填写学校信息页 需要学校类型信息
- map.put("schoolTypeList", Arrays.asList("高中", "中专", "大学"));
- }
- if(page==2) {//如果是填写工作信息页 需要工作城市信息
- map.put("cityList", Arrays.asList("济南", "北京", "上海"));
- }
- return map;
- }
- protected void validatePage(Object command, Errors errors, int page) {
- //提供每一页数据的验证处理方法
- }
- protected void postProcessPage(HttpServletRequest request, Object command, Errors errors, int page) throws Exception {
- //提供给每一页完成时的后处理方法
- }
- protected ModelAndView processFinish(HttpServletRequest req, HttpServletResponse resp, Object command, BindException errors) throws Exception {
- //成功后的处理方法
- System.out.println(command);
- return new ModelAndView("redirect:/success");
- }
- protected ModelAndView processCancel(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws Exception {
- //取消后的处理方法
- System.out.println(command);
- return new ModelAndView("redirect:/cancel");
- }
- }
- <bean name="/infoFillWizard"
- class="cn.javass.chapter4.web.controller.InfoFillWizardFormController">
- <property name="pages">
- <list>
- <value>wizard/baseInfo</value>
- <value>wizard/schoolInfo</value>
- <value>wizard/workInfo</value>
- </list>
- </property>
- </bean>
- <form method="post">
- 真实姓名:<input type="text" name="realname" value="${user.realname}"><br/>
- <input type="submit" name="_target1" value="下一步"/>
- </form>
- <form method="post">
- 学校类型:<select name="schoolInfo.schoolType">
- <c:forEach items="${schoolTypeList }" var="schoolType">
- <option value="${schoolType }"
- <c:if test="${user.schoolInfo.schoolType eq schoolType}">
- selected="selected"
- </c:if>
- >
- ${schoolType}
- </option>
- </c:forEach>
- </select><br/>
- 学校名称:<input type="text" name="schoolInfo.schoolName" value="${user.schoolInfo.schoolName}"/><br/>
- 专业:<input type="text" name="schoolInfo.specialty" value="${user.schoolInfo.specialty}"/><br/>
- <input type="submit" name="_target0" value="上一步"/>
- <input type="submit" name="_target2" value="下一步"/>
- </form>
- <form method="post">
- 所在城市:<select name="workInfo.city">
- <c:forEach items="${cityList }" var="city">
- <option value="${city }"
- <c:if test="${user.workInfo.city eq city}">selected="selected"</c:if>
- >
- ${city}
- </option>
- </c:forEach>
- </select><br/>
- 职位:<input type="text" name="workInfo.job" value="${user.workInfo.job}"/><br/>
- 工作年限:<input type="text" name="workInfo.year" value="${user.workInfo.year}"/><br/>
- <input type="submit" name="_target1" value="上一步"/>
- <input type="submit" name="_finish" value="完成"/>
- <input type="submit" name="_cancel" value="取消"/>
- </form>
4.12、ParameterizableViewController
- <bean name="/parameterizableView"
- class="org.springframework.web.servlet.mvc.ParameterizableViewController">
- <property name="viewName" value="success"/>
- </bean>
4.13、AbstractUrlViewController
4.14、UrlFilenameViewController
- <bean name="/index1/*"
- class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
- <bean name="/index2/**"
- class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
- <bean name="/*.html"
- class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
- <bean name="/index3/*.html"
- class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
- ? 匹配一个字符,如/index? 可以匹配 /index1 , 但不能匹配 /index 或 /index12
- * 匹配零个或多个字符,如/index1/*,可以匹配/index1/demo,但不匹配/index1/demo/demo
- ** 匹配零个或多个路径,如/index2/**:可以匹配/index2路径下的所有子路径,如匹配/index2/demo,或/index2/demo/demo
- 如果我有如下模式,那Spring该选择哪一个执行呢?当我的请求为“/long/long”时如下所示:
- /long/long
- /long/**/abc
- /long/**
- /**
- Spring的AbstractUrlHandlerMapping使用:最长匹配优先;
- 如请求为“/long/long” 将匹配第一个“/long/long”,但请求“/long/acd” 则将匹配 “/long/**”,如请求“/long/aa/abc”则匹配“/long/**/abc”,如请求“/abc”则将匹配“/**”
- protected String postProcessViewName(String viewName) {
- return getPrefix() + viewName + getSuffix();
- }
- <bean name="/*.htm" class="org.springframework.web.servlet.mvc.UrlFilenameViewController">
- <property name="prefix" value="test"/>
- <property name="suffix" value="test"/>
- </bean>
0 0
- Spring MVC学习(四)-------Controller接口控制器详解3
- Spring MVC学习(四)-------Controller接口控制器详解3
- Spring MVC学习(四)-------Controller接口控制器详解1
- Spring MVC学习(四)-------Controller接口控制器详解2
- Spring MVC学习(四)-------Controller接口控制器详解4
- Spring MVC学习(四)-------Controller接口控制器详解5
- Spring MVC学习(四)-------Controller接口控制器详解6
- Spring MVC学习(四)-------Controller接口控制器详解7(完)
- Spring MVC学习(四)-------Controller接口控制器详解1
- Spring MVC学习(四)-------Controller接口控制器详解2
- Spring MVC学习(四)-------Controller接口控制器详解4
- Spring MVC学习(四)-------Controller接口控制器详解5
- Spring MVC学习(四)-------Controller接口控制器详解6
- Spring MVC学习(四)-------Controller接口控制器详解7(完)
- Spring MVC详解(四) Controller接口控制器详解(1)
- Spring MVC详解(四) Controller接口控制器详解(1)
- Spring MVC详解(四)Controller接口控制器详解(3)
- Spring MVC详解(四)Controller接口控制器详解(3)
- html标签
- 2 月 4 日星期六
- phpstrom10.0.0.2 mac 汉化记录
- No.7简单操作系统的开发
- 欢迎使用CSDN-markdown编辑器
- Spring MVC学习(四)-------Controller接口控制器详解3
- 七种常见的排序算法的C++实现
- Chapter 5 : 索引和算法
- Spring MVC学习(四)-------Controller接口控制器详解4
- 波特率与比特率
- 使用IDEA创建SpringBoot项目
- 微服务Spring Cloud例子
- 算法训练之递归
- php通用权限管理设计