当前位置: 首页 > 知识库问答 >
问题:

如何在控制器中处理同一页面上的两个表单以执行不同的任务和endpoint?什么是 if 语句格式?

端木明贤
2023-03-14

两个不同的帖子请求映射在同一个页面或URL上。我试图让一个按钮的帖子请求做一些事情,让另一个提交按钮做一些不同的事情

我尝试使用if(action.equals(“b1”))在控制器中命名表单和if语句

我尝试了两个单独的控制器来处理每个提交按钮

Java 语言(一种计算机语言,尤用于创建网站)

@RequestMapping(value = "", method = RequestMethod.POST)
public String processApproveandProceedForm(@RequestParam int seoId, Model model){
   SEO seoInDB = seoDao.findById(seoId);
   seoInDB.setApproved(true);
   seoDao.save(seoInDB);
   return "redirect:/admin/seo/?seoId=" + seoInDB.getId();

}

@RequestMapping(value = "", method = RequestMethod.POST)
public String processApproveForm(@RequestParam int partnerId, Model model){
    Partner partnerInDB = partnerDao.findById(partnerId);
    partnerInDB.setApproved(true);
    partnerDao.save(partnerInDB);   
    return "redirect:/admin" + partnerInDB.getId();

}

我正在设置一个页面,您可以在其中批准一个名为SEO或合作伙伴的对象的实例。然后,当您单击批准并继续时,SEO将带您进入添加学生的页面,或者如果您批准合作伙伴,它将重定向到主页。所有这些都显示在主页上,我想使用表单的名称b1和b2从控制器处理它。

这是来自我的控制器的片段,我收到一条错误消息:

Caused by: java.lang.IllegalStateException: Ambiguous mapping. Cannot map 'adminController' method 
public java.lang.String org.launchcode.GatewaySEC.controllers.AdminController.processApproveForm(int,org.springframework.ui.Model)
to {[/admin],methods=[POST]}: There is already 'adminController' bean method

共有1个答案

陶文林
2023-03-14

它显示该程序具有相同的方法名称“adminController”,猜猜您可以将其更改为其他名称。

 类似资料:
  • 问题内容: 我想将注册和登录表格都放在同一页面上。 它们都以: 所以,我需要这样的东西: 还有如何在第二个表格繁忙时防止执行第一个表格,反之亦然(用户单击两者) 我的想法是在启动流程时(例如,在流程结束时)创建一个简单变量,因此: 可能有更好的方法。 问题答案: 您可以通过两种不同的动作制作两种形式 还是这样做 然后,您的PHP文件将用作一个switch($ _ POST [‘action’])…

  • 下面是controller类: @Controller公共类MainController{ }

  • Spring MVC的文档有时会提到“处理程序”或“请求处理程序”。例如,http://docs.spring.io/autorepo/docs/spring/4.0.4.release/javadoc-api/org/springframework/web/servlet/handler/simpleurlhandlermapping.html说: 实现从URL映射到请求处理程序bean的Han

  • Evere:路径为[/EmployeeRegistrationForm]的上下文中servlet[dispatcher]的servlet.Service()引发异常[请求处理失败;嵌套异常为org.springframework.web.bind.annotation.support.handlerMethodInvocationException:未能调用处理程序方法[public java.u

  • 我实际上是使用处理来检查从键盘输入的值并采取行动。现在的问题是,我想使用键盘上的数字“1”来根据IF语句执行两个不同的操作,但第二个条件似乎不起作用。请帮助我仔细阅读这段代码,因为我不知道我可能在哪里出错了

  • 问题内容: 我公司购买了一种在页面上呈现ASP.NET控件的产品。该控件使用jQuery 1.2.3并将脚本标记添加到页面以引用它。如果控件以任何方式修改(包括修改以引用其他版本的jQuery),则控件的开发人员将不支持使用该控件。 我将要开始开发自己的控件,并希望使用jQuery 1.3的功能和速度改进。这两个控件都需要存在于同一页面上。 如何允许购买的控件使用jQuery 1.2.3和新的自定