(壹)JSP基本语法
1.JSP注释
HTML注释:<!--注释内容--!>
JSP注释:<%--注释内容--%>
在eclipse里Ctrl+Alt+/快捷键可以快速注释。
2.JSP指令
- page指令:
- **include指令:**文件加载指令,会将两个文件合并成一个新JSP页面。
- tablib指令:
3.<jsp:include>、<jsp:forward>、<jsp:param>
动作元素
<jsp:include page="hello.txt"></jsp:include>
JSP页面中包含页面的方式,JSP运行时才会载入该文件。<jsp:forward page="hello.jsp"></jsp:forward>
页面重新定向。<jsp:param value="" name=""/>
与<jsp:include>
和<jsp:forward>
一起使用
(1)与<jsp:include>
一起使用
sum.jsp文件如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<% String str=request.getParameter("number");
int n=Integer.parseInt(str);
int sum = 0;
for(int i=1;i<=n;i++)
{
sum = sum + i;
}
%>
<p>
从1到<%=n%>的累加和是:
<br>
<%=sum%>
</body>
</html>
index.jsp如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p>加载文件显示效果:
<jsp:include page="sum.jsp">
<jsp:param value="200" name="number"/>
</jsp:include>
</body>
</html>
显示效果如下:
(2)与<jsp:forward>
一起使用
userinfo.jsp如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p>用户信息如下:
<br>
<%
String username=request.getParameter("username");
String age = request.getParameter("age");
%>
<%="用户名称为:"+username%>
<br>
<%="年龄为:"+age%>
</body>
</html>
index.jsp如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p>跳转向userinfo.jsp:
<jsp:forward page="userinfo.jsp">
<jsp:param value="tom" name="username"/>
<jsp:param value="27" name="age"/>
</jsp:forward>
</body>
</html>
4.<jsp:plugin>
动作元素
<jsp:plugin>
动作元素可以将服务器的JavaBean或Applet下载到客户端执行。
5.<jsp:useBean>、<jsp:setProperty>、<getProperty>
动作元素
(1)<jsp:useBean>
动作元素
用来装载一个将在JSP使用的JavaBean。语法格式如下:
<jsp:useBean id="实例名字" class="JavaBean的路径" scope="page | reque|session|application"></jsp:useBean>
- id指定JavaBean实例对象的名字;
- class指定JavaBean类的路径;
- scope指定JavaBean的有效范围。
(2)<jsp:setProperty>
动作元素
设置或修改Bean的属性值。
<jsp:setProperty property="实例的属性名字" name="JavaBean实例名" value="实例属性的值"/>
(3)<jsp:getProperty>
动作元素
获取Bean的属性值。
<jsp:getProperty property="实例的属性名字" name="JavaBean实例名"/>
(4)Bean实例如下
index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p>输出用户信息:
<!-- 创建jsp_learn.User的实例,名字为user -->
<jsp:useBean id="user" class="jsp_learn.User" scope="page"></jsp:useBean>
<!-- 设置user的username属性 -->
<jsp:setProperty property="username" name="user" value="tom"/>
<!-- 设置user的age属性 -->
<jsp:setProperty property="age" name="user" value="27"/>
<!-- 输出username的属性 -->
用户名:<jsp:getProperty property="username" name="user"/>
<br>
<!-- 输出age的属性 -->
年龄:<jsp:getProperty property="age" name="user"/>
</body>
</html>
User类的定义如下:
package jsp_learn;
public class User {
private String username;
private int age;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
运行结果如下所示: