实验二 JSP指令标记
一、实验目的
1. 掌握JSP中page指令标记。
2. 掌握JSP中Include指令标记。
3. 掌握指令标记的使用及标记的各个属性的意义。
二、实验内容
1、教材2.8.1节 计算消费总和。
2、教材2.8.2节 日期时间。
三、实验步骤
1.计算消费总和
(1)实验代码
<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<%@ page import="java.util.regex.Pattern" %>
<%@ page import="java.util.regex.Matcher" %>
<%!
public double getPriceSum(String input){
Pattern pattern;
Matcher matcher;
String regex="-?[0-9][0-9]*[.]?[0-9]*";
pattern=Pattern.compile(regex);
matcher=pattern.matcher(input);
double sum=0;
while(matcher.find()){
String str = matcher.group();
sum += Double.parseDouble(str);
}
return sum;
}
%>
<html>
<body bgcolor="cyan">
<p style="font-size: 20;font-family: 黑体;">
<br>张三的菜单:<br>
<% String str="麻婆豆腐:20.6元,红烧肉:68.9元"; %>
<br><%= str %><br>
<br><b><i>消费总和:<%= getPriceSum(str) %></i></b><br>
<br>李四的菜单:<br>
<% str="剁椒鱼头:62.9元,烤鸭:199元,红焖大虾:289.9元"; %>
<br><%= str %><br>
<br><b><i>消费总和:<%= getPriceSum(str) %></i></b>
</p>
</body>
</html>
(2)运行结果
2.日期时间
(1)实验代码
文件ch2_2.jsp
<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<%@ page import="java.time.LocalDate" %>
<%@ page import="java.time.LocalTime" %>
<%
LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
%>
<h2>
用户在<%= date.getYear() %>/<%= date.getMonthValue() %>/<%= date.getDayOfMonth() %><br>
<%= time.getHour() %>:<%= time.getMinute() %>:<%= time.getSecond() %>访问了网页
</h2>
文件ch2_3.jsp
<%@ page contentType="text/html" %>
<%@ page pageEncoding="utf-8" %>
<html>
<body>
<h1>显示访问网页的日期、时间<br>(服务器端的日期、时间)</h1>
<%@ include file ="ch2_2.jsp" %>
</body>
</html>
(2)运行结果
四、实验总结
本次实验学习了Include指令标记和page指令标记,在实验二中,第一次运行时下半部分代码出现乱码情况,后来在ch2_2.jsp文件中加入<%@ page pageEncoding="utf-8" %>解决了乱码问题。