十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
可以通过Ajax请求Servlet,然后Servlet调用Java类中的方法并返回数据给JS。
成都创新互联公司是专业的子洲网站建设公司,子洲接单;提供网站设计、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行子洲网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
用mvc框架访问java类方法,例如struts,springmvc
也可以在jsp中用%Java代码%
在类中写呗,具体调用代码网上搜,然后在jsp页面上调用即可直接在包创建类
首先,在服务端定义了一个类和静态方法:
public class Test {
public static String sayHello(String name){
return "hello, " + name;
}
}
注意:必须是公开的静态方法。
ajax分为同步、异步调用,如果没有传递回调函数,则是同步调用;
如果传递回调函数,则是异步调用。
同步调用
script type="text/javascript"
......
try{
var obj = Test.sayHello('world!');
......
}catch(e){
//e.error 错误码
//e.message 错误描述
}
......
/script
不传递回调函数,以try…catch来处理错误。
在同步调用模式下,如果有网络错误、业务逻辑错误等,会抛出一个异常。
异步调用
script type="text/javascript"
......
Test.sayHello('world!',
function(obj){ //success callback function
......
},
function(error, message){ //fail callback function
}
);
......
/script
传递回调函数作为参数。如果只有一个回调函数, 则默认是成功的回调函数。
jsp的组成: jsp = html + java脚本 + jsp标签(指令)
jsp中无需创建即可使用的对象一共有9个,被称之为9大内置对象。例如:request对象、out对象
3种java脚本:
%...%:java代码片段
%=...%:java表达式
%!...%:声明,用来创建类的成员变量和成员方法
jsp其实是一种特殊的Servlet,在html中通过java脚本就可以嵌入java代码,输出一些内容。
jsp中查看java代码变量的值是通过打印的方式来查看的,最常用的是用c:out标签输出。
在Servlet文件中:
// 放入String类型,用c:out输出 String c_out_simple_string = "hello beijing 2008"; request.setAttribute("c_out_simple_string", c_out_simple_string);
在JSP文件中:
c_out_simple_string的值是: "${c_out_simple_string}"
c:out标签是JSTL的核心标签库中的一员,使用非常普遍且非常简单。在本示例中只使用c:out标签的value属性,value属性值的来源是EL表达式,通过EL表达式取出变量c_out_simple_string的值赋给c:out标签的value属性,然后通过c:out标签显示出来。
jsp中写java代码成为scriptlet,写在%%之间就可以了。
Scriptlet是包含在%和%之间的Java代码,在Web容器处理JSP页面时执行,通常会产生输出,并将输出发送到客户的输出流里。Scriptlet除了不能定义类和方法、不能用import引入类外,可以包含任何有效的Java代码。(Java类在Jsp外部定义,可用page指令的import属性引入,也可以Java Bean的形式使用。Java中的方法必须在类内定义,但Jsp允许使用声明定义方法。窗体(GUI)设计代码在Jsp中无效)。
Scriptlet例程:
%@ page contentType="text/html; charset=gb2312" %
html
head
titleJSP基本语法/title
/head
body
h1Scriptlet示例页面/h1
table border="1"
caption乘法口诀表/caption
%-- 在网页中嵌入Java代码的主要方法 --%
%
for(int i=1; i=9; i++) {
int j=1;
//out是JSP的一个内部对象,print方法用于向客户端输出数据
out.println("tr");
for(; j=i; j++) {
out.print("td" + j + "*" + i + "=" + j*i + "/td");
}
for(;j=9;j++) {
out.print("td /td");
}
out.println("/tr");
}
%
/table
/body
/html