⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 student_core_view.jsp

📁 JavaWeb标签应用开发(随书光盘)为方便读者阅读本书和调试程序
💻 JSP
字号:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<fmt:requestEncoding value="gb2312"/>
<!------设置数据源------>
<sql:setDataSource dataSource="jdbc/sqlserver" var="sqlDS"/>
<html>
</script>
<body bgcolor="#DCDADA">
<!---------导航菜单------------->
<table border="0" width="100%">
  <tr>
    <td width="100%">
      <p align="left">您当前所在位置:学生成绩查询</p>
    </td>
  </tr>
</table>
<!---------数据输入------------->
<table border="1" width="100%" cellspacing="0" cellpadding="0" bordercolor="#808080" bordercolorlight="#808080" bordercolordark="#808080">
  <tr>
    <td width="100%">
      <table border="0" width="100%">
        <tr>
          <td width="100%" colspan="5">输入查询条件:<br><hr></td>
        </tr>
        <form name="core" action="student_core_view.jsp" method="post">
        <tr>
          <td width="24%" align="right">学生所属班级:</td>
          <td width="19%">
          <!-----生成班级下拉框------>
          <c:set var="selectRSSQL" value="select class_id,class_name from class"/>
          <sql:query sql="${selectRSSQL}" 
  			var="classRS" dataSource="${sqlDS}"/>
  		  <select name="class_id">
  		  	<c:forEach items="${classRS.rowsByIndex}" var="cucN">
  		  		<c:if test="${cucN[0]==param.class_id}"> selected</c:if>>
  		  		<option value="${cucN[0]}"
  		  		<c:if test="${cucN[0]==param.class_id}"> selected</c:if>>
  		  		${cucN[1]}</option>
  		  	</c:forEach>
  		  </select> 
          </td>
          <td width="11%" align="right">学生姓名:</td>
          <td width="21%">
          <input type="text" name="student_name" maxlength="20" value="${param.student_name}">
          </td>
          <td width="25%"><input type="submit" value="提交"></td>
        </tr>
        </form>
      </table>
    </td>
  </tr>
</table><br>
<!--查询出数据并作分页处理-->
<c:set var="selectSQL" value="select student.student_name as student_name,
	lession.lession_name as lession_name,core.core as core
	  from student,core,lession,class
	  where core.student_id=student.student_id and
	  core.lession_id=lession.lession_id and student.class_id=class.class_id"/>
<c:set var="selectCountSQL" value="select count(*) as coreCount
	  from student,core,lession,class
	  where core.student_id=student.student_id and
	  core.lession_id=lession.lession_id and student.class_id=class.class_id"/>
<c:if test="${not empty param.class_id}">
	<c:set var="selectSQL" value="${selectSQL} and class.class_id=
		${param.class_id} and student.class_id=${param.class_id}"/>
	<c:set var="selectCountSQL" value="${selectCountSQL} and class.class_id=
		${param.class_id} and student.class_id=${param.class_id}"/>
</c:if>
<c:if test="${not empty param.student_name}">
	<c:set var="selectSQL" value="${selectSQL} and student.student_name 
		like '%${param.student_name}%'"/>
	<c:set var="selectCountSQL" value="${selectCountSQL} and student.student_name 
		like '%${param.student_name}%'"/>
</c:if>
<c:set var="selectSQL" value="${selectSQL} order by student_name"/>
<sql:query sql="${selectCountSQL}" 
  	var="coreCountRS" dataSource="${sqlDS}"/>
<!--得到当前页的页号-->
<c:if test="${not empty param.page}">
  	<c:set var="page" value="${param.page}"/>
</c:if>
<c:if test="${empty param.page}">
  	<c:set var="page" value="1"/>
</c:if>
<!--得到总记录条数-->
<c:set var="coreCount" value="${coreCountRS.rowsByIndex[0][0]}"/>
<!--设置每页显示记录条数-->
<c:set var="pageSize" value="10"/>
<!--计算总页数-->
<c:if test="${coreCount%pageSize==0}">
  	<c:set var="pageCount" value="${coreCount/pageSize}"/>
</c:if>
<c:if test="${coreCount%pageSize!=0}">
  	<c:set var="pageCount" value="${coreCount/pageSize+1-(coreCount%pageSize)/pageSize}"/>
</c:if>
<fmt:formatNumber value="${pageCount}" maxFractionDigits="0" var="pageCount"/>   
<!--得到当前页数据在SQL查询结果中的起始位置-->
<c:set var="startPosition" value="${(page-1)*pageSize}"/>
<!--查询出当前页的数据-->
<sql:query sql="${selectSQL}" 
  	var="coreRS" dataSource="${sqlDS}"
  	startRow="${startPosition}" maxRows="${pageSize}"/>
<!---------数据输出------------->
<table border="1" width="100%" cellspacing="0" cellpadding="0" bordercolor="#808080" bordercolorlight="#808080" bordercolordark="#808080">
  <tr>
    <td colspan="3" align="center">
    	各科目成绩,所有成绩(共${coreCount}条)&nbsp;&nbsp;&nbsp;&nbsp;
    	<c:if test="${coreCount!=0}"> 
    	当前第${page}页,共${pageCount}页&nbsp;&nbsp;
    	<c:if test="${page!=1}">
  			<a href="${pageContext.request.requestURL}?page=1&class_id=${param.class_id}&student_name=${param.student_name}">首页</a>&nbsp;
  			<a href="${pageContext.request.requestURL}?page=${page-1}&class_id=${param.class_id}&student_name=${param.student_name}">上一页</a>
  		</c:if>
  		<c:if test="${page!=pageCount}">
  			&nbsp;<a href="${pageContext.request.requestURL}?page=${page+1}&class_id=${param.class_id}&student_name=${param.student_name}">下一页</a>
  			&nbsp;<a href="${pageContext.request.requestURL}?page=${pageCount}&class_id=${param.class_id}&student_name=${param.student_name}">尾页</a>)
  		</c:if>
  		</c:if>
    </td>
  </tr>
  <tr>
    <td width="10%" align="center">学生姓名</td>
    <td width="25%" align="center">课程名称</td>
    <td width="25%" align="center">成绩</td>
  </tr>
<c:if test="${coreRS.rowCount>=1}">
  <c:forEach items="${coreRS.rowsByIndex}" var="cucN">
  <tr>
    <td align="center"">${cucN[0]}</td>
    <td align="center">${cucN[1]}</td>
    <td align="center">${cucN[2]}</td>
  </tr>
  </c:forEach>
</c:if>
</table><br>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -