⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inputpagecontroller.java

📁 spring mvc 学习例子
💻 JAVA
字号:
package com.guess.controller;

import java.util.HashMap;
import java.util.Map;

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

import org.springframework.validation.BindException;
import org.springframework.validation.Errors;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.view.RedirectView;

import com.guess.form.InputPageForm;
import com.guess.form.ResultPageForm;

public class InputPageController extends SimpleFormController implements InputPage{
	private String tooBig;
	private String tooSmall;
	private String equal;
	private int number;
	private int tries;
	private ResultPageForm resultPageForm;

	public InputPageController() {
		number=generateNumber();
	}
	
	public int generateNumber() {
		return (int) (Math.random() * 5);
	}
	public void increaseTries(int tries) {
		this.tries=tries++;
	}
	public String getTooBig() {
		return tooBig;
	}

	public void setTooBig(String tooBig) {
		this.tooBig = tooBig;
	}

	public String getTooSmall() {
		return tooSmall;
	}

	public void setTooSmall(String tooSmall) {
		this.tooSmall = tooSmall;
	}

	public String getEqual() {
		return equal;
	}

	public void setEqual(String equal) {
		this.equal = equal;
	}

	public ResultPageForm getResultPageForm() {
		return resultPageForm;
	}

	public void setResultPageForm(ResultPageForm resultPageForm) {
		this.resultPageForm = resultPageForm;
	}

	protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) {
		InputPageForm inputPageForm = (InputPageForm) command;
		String message;
		String view;
		Map model;
		ModelAndView modelAndView;
		int number = inputPageForm.getInputNumber();
		increaseTries(inputPageForm.getTries());
		if (number > this.number) {
			message = tooBig;
			view = getFormView();
			model = errors.getModel();
			modelAndView = new ModelAndView(view, errors.getModel());
		} else if (number < this.number) {
			message = tooSmall;
			view = getFormView();
			model = errors.getModel();
			modelAndView = new ModelAndView(view, errors.getModel());
		} else {
			message = equal;
			view = getSuccessView();
			ResultPageForm resultPageForm=new ResultPageForm();
			resultPageForm.setNumber(number);
			resultPageForm.setTries(tries);
			Map map=new HashMap();
			map.put("number", number);
			map.put("tries", tries);
			request.getSession().setAttribute("result", map);
			modelAndView = new ModelAndView(new RedirectView(view));
		}
		inputPageForm.setMessage(message);
		inputPageForm.setInputNumber(number);
		inputPageForm.setTries(tries);
		System.out.println(message);
		return modelAndView;
	}

	protected Map referenceData(HttpServletRequest request, Object command,
			Errors errors) throws Exception {
		Map referenceData = new HashMap();
		return referenceData;
	}

	protected Object formBackingObject(HttpServletRequest request)
			throws ServletException {
		InputPageForm inputPageForm = new InputPageForm();
		inputPageForm.setInputNumber(0);
		return inputPageForm;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -