1.编写一个使用EL的JSP程序,用以获取一名学生五门学科的分数。每门学科的得分圴在100分以内。在同一个页面显示所有提交分数的总分和平均分。
时间: 2023-09-04 13:12:01 浏览: 217
好的,以下是一个使用EL表达式的JSP程序,用以获取一名学生五门学科的分数,并显示总分和平均分:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>学生成绩信息</title>
</head>
<body>
<h1>学生成绩信息</h1>
<form action="${pageContext.request.contextPath}/submitScore.jsp" method="post">
<p>语文:<input type="text" name="chinese" value="${empty param.chinese ? '' : param.chinese}" /></p>
<p>数学:<input type="text" name="math" value="${empty param.math ? '' : param.math}" /></p>
<p>英语:<input type="text" name="english" value="${empty param.english ? '' : param.english}" /></p>
<p>物理:<input type="text" name="physics" value="${empty param.physics ? '' : param.physics}" /></p>
<p>化学:<input type="text" name="chemistry" value="${empty param.chemistry ? '' : param.chemistry}" /></p>
<p><input type="submit" value="提交" /></p>
</form>
<hr />
<h2>成绩汇总</h2>
<p>语文:${empty param.chinese ? '0' : param.chinese} 分</p>
<p>数学:${empty param.math ? '0' : param.math} 分</p>
<p>英语:${empty param.english ? '0' : param.english} 分</p>
<p>物理:${empty param.physics ? '0' : param.physics} 分</p>
<p>化学:${empty param.chemistry ? '0' : param.chemistry} 分</p>
<hr />
<h3>总分:${empty param.chinese ? 0 : param.chinese + empty param.math ? 0 : param.math + empty param.english ? 0 : param.english + empty param.physics ? 0 : param.physics + empty param.chemistry ? 0 : param.chemistry} 分</h3>
<h3>平均分:${empty param.chinese ? 0 : (param.chinese + empty param.math ? 0 : param.math + empty param.english ? 0 : param.english + empty param.physics ? 0 : param.physics + empty param.chemistry ? 0 : param.chemistry) / 5} 分</h3>
</body>
</html>
```
其中,使用了 EL 表达式来获取表单提交的五门学科的分数,并计算总分和平均分。如果某门学科的分数未提交,则默认为0分。
注意事项:
1. 表单提交的 action 属性需要指向 submitScore.jsp 页面。
2. 由于 EL 表达式在计算时会自动将字符串转换为数字,所以在计算总分和平均分时需要先判断某门学科的分数是否为空(即未提交),如果为空则默认为0分。
阅读全文