有没有办法在Spring Web MVC中使用相同参数区分带有@RequestAnnotations的方法?

时间:2013-11-07 15:23:00

标签: java jsp spring-mvc methods annotations

我不久前进入了 Spring Web MVC Framework ,因此我是一个完全的初学者。

我遇到的问题如下。 我有一个名为 myForm.jsp 的文件,我在这里提供一些文本,表格等。除此之外,我还有 2个来自两个合适的按钮请参阅下面的代码)。


<!-- code -->
<form:form id="form1" method="post" commandName="firstForm">
    <!-- code -->
    <input class="button" type="submit" value="Submit" name="submit"/>
</form:form>

<!-- code -->

<form:form id="form2" method="post" commandName="secondForm">
    <!-- code -->
    <input class="button" type="submit" value="Save" name="save"/>
</form:form>
<!-- code -->

现在我有兴趣处理 FromController.java

中的提交操作
package si.src.controllers;

import java.util.ArrayList;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;

import si.src.forms.Obrazec;

@Controller
public class ObrazecFormController {

    @RequestMapping(value="/spletniObrazec", method=RequestMethod.POST)
    public String submitTheFromButton1(){
         //logic for button1
         //additional code
    }

    @RequestMapping(value="/spletniObrazec", method=RequestMethod.POST)
    public String submitTheFromButton2(){
         //logic for button2
         //additional code
    }   
}

有没有办法告诉Spring区分两种方法?也许在表单中有其他 @annotations 名称/值属性:form tag?

我也尝试编写不同的控制器类,但由于Spring MVC以事件驱动的方式运行,因此它不起作用。

可能我错过了控制器,方法和注释的整个概念,所以我非常感谢任何建议/想法/建议/解决方案。

1 个答案:

答案 0 :(得分:0)

您应该在表单中使用不同的操作,可以在此处查看教程: http://www.tutorialspoint.com/spring/spring_mvc_form_handling_example.htm

或在这里: Spring MVC - Multiple submit button to a Form