如何以相同的形式调用不同的控制器

时间:2014-10-16 05:18:33

标签: java spring

我是spring framework的新手。我的要求是,我有一个表单,它有开始日期和结束日期文本字段和两个提交按钮,我为按钮单击调用两个单独的控制器。但是表单标签只接受一个操作属性。我在struts2中通过使用按钮标签中的formction属性来完成此操作。但是我不知道如何在春天这样做?

以下是我的代码

<form action="projectreport" method="get">
<label>Start Date</label>
<input type="text" name="stdate" id="stdate"/>
<label>End Date</label>
<input type="text" name="enddate" id="enddate"/>
<input type="submit" value="GenerateProjectReport"/>
<input type="submit" value="GenerateUserReport"/>
</form>

任何帮助将不胜感激!!!

1 个答案:

答案 0 :(得分:0)

我对struts并不熟悉,但我不知道你为什么要尝试为表单引导两个不同的网址?见行动action documentation

我认为你真正需要的是基于参数的两种方式的处理请求。那么为什么在点击按钮时没有格式化参数,然后提交请求。 U可以调度到控制器中的适当接口。

<form action="url">
<button name="buttonA"></button>
<button name="buttonB"></button>
</form>
</body>
<script>
    buttonA.clcik:function(){
        params :{
            paraA: xx,
            paraB: xx
        }
        form.submit();
    }
    buttonB.clcik:function(){
        params :{
            paraC: xx,
            paraD: xx
        }
        form.submit();
    }
</script>

另一种方法是不使用form.submit提交给不同的URL。