问题描述
- 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
解决方案四:
异步的用ajax请求,不异步的话你在js方法里写
function mail(){
window.location = "项目路径/mail/mailto";
}
解决方案五:
发请求,,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代码%>
解决方案八:
在jsp中调用 java代码要先引用java的包哦:如<%@ page import= "www.com.要调用的java类 "%>写在jsp最上面然后:
<%
Mail mails = new Mail();
mails.mail();
%>这里面就可以写java代码,不知道这样行不行勒。。
解决方案九:
就是使用ajax进行异步请求,在url中调用后台方法即可
解决方案十:
ajax请求,访问后台方法就可以