📄 inputpagecontroller.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 + -