java spring 使用GuideController实现信息的多步采集

使用GuideController控制器的目的

在开发中会出现,需要采集大量用户信息来作为数据分析,但是如果是一个单一的页面让用户填写十多行信息,会让用户体验很差,采用向导控制器实现将众多的信息分离就会使得用户体验好很多。
这也就是GuideController的使用目的之一。

项目结构

在这里插入图片描述
创建一个web项目,src下创建包Controller,以及User,分别对于控制器的和用户的功能编写。
在WEB-INF下lib包下创建配置文件applicationContext.xml用于Spring的配置。
然后需要一个主页面index.jsp,需要一个结果页面ok.jsp,还需要将原来一个页面存放的信息拆分为三个部分,onePage.jsp,twoPage.jsp,treePage.jsp。
这样项目的结构就写好了。

GuideController的编写

package Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractWizardFormController;

import User.User;

public class GuideController extends AbstractWizardFormController {
   

	private String cancelView;	//取消时跳转的页面
	private String finishView;	//完成后跳转的页面
	
	public String getCancelView() 
	{
   
		return cancelView;
	}
	public void setCancelView(String cancelView) 
	{
   
		this.cancelView = cancelView;
	}
	public String getFinishView() 
	{
   
		return finishView;
	}
	public void setFinishView(String finishView)
	{
   
		this.finishView = finishView;
	}
	
	protected ModelAndView processFinish(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2,
			BindException arg3) throws Exception
	{
   
		User user=(User)arg2;
		return new ModelAndView(this.getFinishView(),"user",user);
	}
	
	protected ModelAndView processCannel(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2,
			BindException arg3) throws Exception
	{
   
		return new ModelAndView(this.getCancelView());
	}

}

定义两个私有变量cancelView ,finishView用于将分页填写功能中的返回和下一步。

User的编写

package User;

public class User
{
   
		private String userName;//用户名
		private String pwd;// 密码
		private String pwd1;// 确认密码
		
		private String qq;// qq号码
		private String mail;//电子邮箱
		private String tel;//电话
		private String addr;//地址
		
		private String name;//姓名
		private String age;//年龄
		private String sex;//性别
		private String high;//身高
		private String weight;//体重
		
		public String getPwd1() {
   
			return pwd1;
		}
		public void setPwd1(String pwd1) {
   
			this.pwd1 = pwd1;
		}

		public String getUserName() {
   
			return userName;
		}
		public void setUserName(String userName) {
   
			this.userName = userName;
		}
		public String getPwd() {
   
			return pwd;
		}
		public void setPwd(String pwd) {
   
			this.pwd = pwd;
		}
		public String getQq() {
   
			return qq;
		}
		public void setQq(String qq) {
   
			this.qq = qq;
		}
		public String getMail() {
   
			return mail;
		}
		public void setMail(String mail) {
   
			this.mail = mail;
		}
		public String getTel() {
   
			return tel;
		}
		public void setTel(String tel) {
   
			this.tel = tel;
		}
		public String getAddr() {
   
			return addr;
		}
		public void setAddr(String addr) {
   
			this.addr = addr;
		}
		public String getName() {
   
			return name;
		}
		public void setName(String name) {
   
			this.name = name;
		}
		public String getAge() {
   
			return age;
		}
		public void setAge(String age) {
   
			this.age = age;
		}
		public String getSex() {
   
			return sex;
		}
		public void setSex(String sex) {
   
			this.sex = sex;
		}
		public String getHigh() {
   
			return high;
		}
		public void setHigh(String high) {
   
			this.high = high;
		}
		public String getWeight() {
   
			return weight;
		}
		public void setWeight(String weight) {
   
			this.weight = weight;
		}
}

就是一些变量的set,get方法。

applicationContext.xml的编写

<?xml version="1.0" encoding="UTF-8"?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值