【发布时间】:2017-03-27 03:12:21
【问题描述】:
我正在使用 spring mvc,制作一个小型网络应用程序。 我在 jsp 页面中有一个表单,我试图将值从我的 .GET 控制器传递给一个方法,并在按下同一 JSP 页面或另一个页面上的“提交”按钮后显示被调用方法的结果,最好是在同一页面上。
表单如下所示: http://i65.tinypic.com/6gyo02.png
这是我从表单中获取值后要调用的方法:
public void calcMacros() {
int goal = 0;
if (this.goal == 0.7){
goal = 1;
} else if (this.goal == 0.9) {
goal = 2;
} else if (this.goal == 1) {
goal = 3;
} else if (this.goal == 1.2){
goal = 4;
}
switch (goal) {
case 1: weightLoss();
weightLossProtCalc();
weightLossCarbCalc();
weightLossFatCalc();
break;
case 2: weightLoss();
weightLossProtCalc();
weightLossCarbCalc();
weightLossFatCalc();
break;
case 3: tdeeCalculator();
maintainProteinCalc();
maintainCarbCalc();
maintainFatCalc();
break;
case 4: weightGain();
weightGainProtCalc();
weightGainCarbCalc();
weightGainFatCalc();
break;
default:
break;
}
System.out.println("selected goal was " + goal + "and proper methods have been called.");
}
最好的问题是,如何将此方法转换为 .POST 控制器,以便在同一个 JSP 页面中显示它的结果。还有如何在 JSP 页面中调用这个方法/控制器?
谢谢!
编辑:控制器
@RequestMapping(value = "/calculator" , method = RequestMethod.GET)
public String calculatorPage(ModelMap model, MacroCalculatorForm macroCalculatorForm) {
model.addAttribute("user",getPrincipal());
macroCalculatorForm.calcMacros();
return "calculator";
}
这样可以吗,还是我应该重写我想要调用到这个控制器的方法?
【问题讨论】:
-
你的 GET 控制器在哪里?在此处添加代码
-
@javaguy 我添加了控制器,我应该用其中的方法重写控制器吗?
标签: spring forms jsp spring-mvc