目录
在JSP页中,如何使用javabean?
JavaBean 是特殊的 Java 类,使用 Java 语言书写,并且遵守 JavaBean API 规范。
接下来给出的是 JavaBean 与其它 Java 类相比而言独一无二的特征:
- 提供一个默认的无参构造函数。
- 需要被序列化并且实现了 Serializable 接口。
- 可能有一系列可读写属性。
- 可能有一系列的 getter 或 setter 方法。
创建一个javabean:
package grimes;
public class bean {
private String name;
private int number;
public bean() {
}
public bean(String name,int number) {
this.name=name;
this.number=number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
有两种方法来创建并获取javabean:
(1)通过<%@page import>指令来导入一个包下的所有类,然后再new一个对象,并对该对象赋值。
<%@page import="com.sun.xml.internal.ws.policy.privateutil.PolicyUtils.Text"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="grimes.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
bean test1 = new bean();
test1.setName("lana");
test1.setNumber(1989);
bean test2 = new bean("taylor",13);
%>
<p>测试1:<%=test1.getName() + " " + test1.getNumber() %></p>
<p>测试2:<%=test2.getName() + " " + test2.getNumber() %></p>
</body>
</html>
代码测试,显示如下:
(2) <jsp:useBean> 标签
<jsp:useBean> 标签可以在 JSP 中声明一个 JavaBean,然后使用。声明后,JavaBean 对象就成了脚本变量,可以通过脚本元素或其他自定义标签来访问。<jsp:useBean> 标签的语法格式如下:
<jsp:useBean id="bean 的名字" scope="bean 的作用域" class="javabean路径"/>
其中,根据具体情况,scope 的值可以是 page,request,session 或 application。id值可任意只要不和同一 JSP 文件中其它 <jsp:useBean> 中 id 值一样就行了。class属性指定权限名,也就是要给出这个JavaBean的路径。例:
<%@page import="com.sun.xml.internal.ws.policy.privateutil.PolicyUtils.Text"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="grimes.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="test" scope="page" class="grimes.bean"/>
<%
test.setName("mitski");
test.setNumber(0);
%>
<p>测试:<%=test.getName() + " " + test.getNumber() %></p>
</body>
</html>
测试结果如下:
(3) 在 <jsp:useBean> 标签主体中使用 <jsp:getProperty/> 标签来调用 getter 方法,使用 <jsp:setProperty/> 标签来调用 setter 方法,语法格式如下:
<jsp:useBean id="id" class="bean 编译的类" scope="bean 作用域">
<jsp:setProperty name="bean 的 id" property="属性名"
value="value"/>
<jsp:getProperty name="bean 的 id" property="属性名"/>
...........
</jsp:useBean>
name属性指的是Bean的id属性。property属性指的是想要调用的getter或setter方法。
一个简单例子:
<%@page import="com.sun.xml.internal.ws.policy.privateutil.PolicyUtils.Text"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="grimes.*"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="text" scope="page" class="grimes.bean"/>
<jsp:setProperty name="text" property="name" value="yuele"/>
<jsp:setProperty name="text" property="number" value="666"/>
<p>测试:<%=text.getName() + text.getNumber() %></p>
</body>
</html>
测试结果:
JSP页面如何使用javascript脚本?
(1)直接在<script></script>标签中写JavaScript代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript">
alert("这是一个JavaScript测试");
document.write("<h1>用JavaScript直接写入HTML输出流</h1>")
</script>
</body>
</html>
(2)写在js文件中,然后在页面中通过<script>标签的src属性引入
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<script type="text/javascript" src="javasrcipt.js">
</script>
</body>
</html>
js文件:
alert("这是一个JavaScript测试,在js文件中");
document.write("<h1>用JavaScript直接写入HTML输出流</h1>")
测试结果: