实验三 、动作标记
一、实验目的
1. 掌握JSP中include动作标记。
2. 掌握JSP中param动作标记。
3. 掌握JSP中forward动作标记。
4. 掌握JSP中usebean动作标记,了解动作标记useBean的含义。
二、实验内容
1、教材2.8.3节 听英语。
2、教材2.8.4节 看电影。
三、实验步骤
1.听英语
① 实验代码
文件:ch3_1.jsp:
<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<html>
<body>
<br>英文课(English Text):</br>
<p style="font-family: 宋体;font-size: 18;color: blake;">
<jsp:include page="english.txt"/>
<br>课文音频(English Audio):<br>
<jsp:include page="ch3_2.jsp"/>
</p>
</body>
</html>
文件:ch3_2.jsp
<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<html>
<body bgcolor="pink">
<embed src="english.mp3" autostart=false>
课文音频
</embed>
</body>
</html>
② 运行结果
2.看电影
①实验代码
文件:ch3_3.jsp
<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<html>
<body bgcolor="yellow">
<h1>用一张10元购买票价是2元的电影票一张。
<% int backMoney=0;
backMoney=10-2;
%>
<jsp:forward page="ch3_4.jsp">
<jsp:param name="number" value="<%= backMoney %>"/>
<jsp:param name="mess" value=""/>
</jsp:forward>
</h1>
</body>
</html>
文件:ch3_4.jsp
<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<html>
<body>
<% request.setCharacterEncoding("gb2312");
String backMoneyStr=request.getParameter("number");
String mess=request.getParameter("mess");
int backMoney = 0;
int count = 0;
int coin = 5;
backMoney = Integer.parseInt(backMoneyStr);
while(true){
count ++;
if(count*coin>backMoney)
break;
}
backMoney =backMoney-(count-1)*coin;
mess = mess+"<br>找赎"+(count-1)+"张面值"+coin+"元的钱币钱";
if(backMoney>0) {
%>
<jsp:forward page="ch3_5.jsp" >
<jsp:param name="number" value="<%= backMoney %>" />
<jsp:param name="mess" value="<%= mess %>" />
</jsp:forward>
<% }
else {
out.print("<br>"+mess);
%>
<br><embed src="movie.mp4" width = 300 height = 270 autostart = false>
看电影
</embed>
<% }
%>
</body>
</html>
文件:ch3_5.jsp
<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML>
<body bgcolor=cyan>
<% request.setCharacterEncoding("gb2312");
String backMoneyStr=request.getParameter("number");
String mess=request.getParameter("mess");
int backMoney = 0;
int count = 0;
int coin = 2;
backMoney = Integer.parseInt(backMoneyStr);
while(true){
count ++;
if(count*coin>backMoney)
break;
}
backMoney =backMoney-(count-1)*coin;
mess = mess+"<br>找赎"+(count-1)+"张面值"+coin+"元的钱币钱";
if(backMoney>0) {
%>
<jsp:forward page="ch3_6.jsp" >
<jsp:param name="number" value="<%= backMoney %>" />
<jsp:param name="mess" value="<%= mess %>" />
</jsp:forward>
<% }
else {
out.print("<br>"+mess);
%>
<br><embed src = "movie.mp4" width =300 height =270 autostart = false>
看电影
</embed>
<% }
%>
</body>
</HTML>
文件:ch3_6.jsp
<%@ page contentType="text/html" %>
<%@ page pageEncoding = "utf-8" %>
<HTML>
<body bgcolor=cyan>
<% request.setCharacterEncoding("gb2312");
String backMoneyStr=request.getParameter("number");
String mess=request.getParameter("mess");
int backMoney = 0;
int count = 0;
int coin = 1;
backMoney = Integer.parseInt(backMoneyStr);
while(true){
count ++;
if(count*coin>backMoney)
break;
}
backMoney =backMoney-(count-1)*coin;
mess = mess+"<br>找赎"+(count-1)+"张面值"+coin+"元的钱币钱";
out.print("<br>"+mess);
%>
<br><embed src="movie.mp4" width=300 height=270 autostart = false>
看电影
</embed>
</body>
</HTML>
②运行结果
四、实验总结
本次实验应用了JSP中include、param和forward动作标记。在实验一中,使用include分别加载了txt文本文件和mp3音频文件实现了文本并不在jsp代码中以及音频的引用。在实验二中,使用了param和forward动作标记,通过forward标记对相应页面的转向并传递了对应的值。