【问题标题】:How can I submit a form placed in a page on click?如何在点击时提交放置在页面中的表单?
【发布时间】:2019-06-11 13:53:27
【问题描述】:

我是 Spring 和 Thyme Leaf 的新手,但我正在尝试通过点击提交表单。

我想搜索 Contact.html 页面,然后在填写表单并单击带有操作“/send”的按钮后,要提交的表单。

@Controller
@RequestMapping("/Contact")
public class EmailSender {

@Autowired
private JavaMailSender sender;

@RequestMapping(value = "/send", method = RequestMethod.GET)
public String processMail() throws Exception {

    try {
        MimeMessage message = sender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message);

        helper.setTo("xx@gmail.com");
        helper.setText("xx");

        helper.setSubject("Hi!");

        sender.send(message);
        return "Contact";

    } catch (Exception ex) {
        return "Error in sending email: " + ex;
    }

}

所以,如果我这样做,我会得到错误。有人可以帮帮我吗?谢谢!

【问题讨论】:

  • 那么你的错误是什么?
  • 提交时,您的控制器应该 POST(而不是 GET)。你的 POST 方法在哪里?
  • 白标错误页面。如果我删除 value = "/send",则联系人页面加载正常,但表单会自动提交,其中没有任何值,并且单击发送按钮不会执行任何操作
  • 看起来,而不是 @RequestMapping(value = "/send", method = RequestMethod.POST) 你把 @RequestMapping(value = "/send", method = RequestMethod.GET).
  • 这意味着您正在尝试访问不存在的。您的项目中是否有“联系人”(区分大小写)html/jsp 并已正确配置?或显示完整的控制器代码,其中包含联系表单的 GET 和 POST(如果有)。

标签: html spring email controller thymeleaf


【解决方案1】:

经过更多调试,这是工作代码:

@Autowired
private JavaMailSender sender;

@GetMapping("/send")
@RequestMapping
public String sendForm() {
    return "Contact";
}

@PostMapping(value="/send")
public String processForm() throws Exception {

    try {
        MimeMessage message = sender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message);

        helper.setTo("xx@gmail.com");
        helper.setText("xx");

        helper.setSubject("xx");

        sender.send(message);
        return "Contact";

    } catch (Exception ex) {
        return "Error in sending email: " + ex;
    }

}

感谢所有的建议和帮助!

【讨论】:

  • 很高兴看到你成功了。我不认为@RequestMapping 在那里对你有用。
  • 放在那里 :)) 所有这些注释都让我发疯了
猜你喜欢
  • 1970-01-01
  • 2019-12-21
  • 1970-01-01
  • 2013-02-19
  • 2014-02-27
  • 1970-01-01
  • 2019-06-22
  • 2013-10-18
  • 1970-01-01
相关资源
最近更新 更多