JSP页面的onclick()怎样调用Java方法?

 @RequestMapping("/mail")
public class Mail {
    @RequestMapping("/mailto")
    public void mail(){

      MailSenderInfo mailInfo = new MailSenderInfo(); 
      mailInfo.setMailServerHost("smtp.yeah.net"); 
      mailInfo.setMailServerPort("25"); 
      mailInfo.setValidate(true); 
      mailInfo.setUserName("123456"); 
      mailInfo.setPassword("456789");
      mailInfo.setFromAddress("123456@yeah.net"); 
      mailInfo.setToAddress("132456@163.com"); 
      mailInfo.setSubject("有新申请"); 
      mailInfo.setContent("content"); 

      SimpleMailSender sms = new SimpleMailSender();
         sms.sendTextMail(mailInfo); 

    }
}

这是我一个Java类中的一个方法,是用来发送邮件的,现在我想在一个JSP页面中添加一个button,并且在点击时调用这个方法

 <input type="button" value="发送邮件" onclick="mail()">

请问我的后台方法function mail()应该怎么写呢?

mail()是你用javascript写的一个function。你可以在这个function里面写一个ajax方法,在ajax方法的url里面写你后台的方法就可以访问了,这是异步。
还有就是提交from表单。

传参调用ajax请求啊

用ajax请求jsp页面,jsp页面调用你的这个发邮件函数,要调用服务器端资源或者方法必须请求服务器才行

http://www.w3school.com.cn/jquery/ajax_ajax.asp

发请求,,form表单可以,,ajax也可以,,或者使用原生的js发送http请求

如果用ajax请求的话:
function mail(){
var xhr;
xhr = new XMLHttpRequest();
xhr.open("Get", "项目路径/mail/mailto", true);
}
如果不用就用上边@花落勿痕的就行了
不过我看你的代码应该是用了springmvc,如果你的web配置文件是接收*.do的话你的url得写成”项目路径/mail/mailto.do"同时你代码这里
@RequestMapping("/mailto")也要改成@RequestMapping("/mailto.do")

如果你java代码中jsp中又想调用可以试试小脚本<%java代码%>

就是使用ajax进行异步请求,在url中调用后台方法即可

ajax请求,访问后台方法就可以

异步的用ajax请求,不异步的话你在js方法里写
function mail(){
window.location = "项目路径/mail/mailto";
}

在jsp中调用 java代码要先引用java的包哦:如<%@ page import= "www.com.要调用的java类 "%>写在jsp最上面然后:
<%
Mail mails = new Mail();
mails.mail();
%>这里面就可以写java代码,不知道这样行不行勒。。