이 글은 주로 JSP+ajax를 사용하여 분류 쿼리 기능을 구현하는 예제 코드를 소개합니다. JSP에 관심이 있는 분들은 이 글을 참고하세요
이번에는 대학에 관한 내용입니다. 1학기 동안 정보관리시스템 과목을 설계하면서 졸업생들이 직면한 몇 가지 문제와 해결책을 기록하고 공유합니다.
제목 요구 사항: 기업 채용 정보(올해 또는 전년도)에 대한 쿼리 기능 제공
먼저 데이터베이스 정보를 표시하는 jsp 파일을 생성하고 여기에 필요한 입력 조건에 대한 텍스트 상자와 쿼리 버튼을 추가합니다. 이 jsp 파일에서 js 함수를 완성하여 쿼리 기능을 완성하세요.
<%@ page language="java" pageEncoding="UTF-8"%> <%@ page import="java.util.*"%> <%@ page import="java.sql.*"%> <%@ page import="TestSQL.SelectDB"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>企业招聘信息</title> <style> body { width: 600px; margin: 40px auto; font-family: 'trebuchet MS', 'Lucida sans', Arial; font-size: 14px; color: #444; } table { *border-collapse: collapse; /* IE7 and lower */ border-spacing: 0; width: 100%; } /*----------------------*/ .zebra td,.zebra th { padding: 10px; border-bottom: 1px solid #f2f2f2; } .zebra tbody tr:nth-child(even) { background: #f5f5f5; -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset; -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset; box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset; } .zebra th { text-align: left; text-shadow: 0 1px 0 rgba(255, 255, 255, .5); border-bottom: 1px solid #ccc; background-color: #eee; background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eee)); background-image: -webkit-linear-gradient(top, #f5f5f5, #eee); background-image: -moz-linear-gradient(top, #f5f5f5, #eee); background-image: -ms-linear-gradient(top, #f5f5f5, #eee); background-image: -o-linear-gradient(top, #f5f5f5, #eee); background-image: linear-gradient(top, #f5f5f5, #eee); } .zebra th:first-child { -moz-border-radius: 6px 0 0 0; -webkit-border-radius: 6px 0 0 0; border-radius: 6px 0 0 0; } .zebra th:last-child { -moz-border-radius: 0 6px 0 0; -webkit-border-radius: 0 6px 0 0; border-radius: 0 6px 0 0; } .zebra th:only-child { -moz-border-radius: 6px 6px 0 0; -webkit-border-radius: 6px 6px 0 0; border-radius: 6px 6px 0 0; } .zebra tfoot td { border-bottom: 0; border-top: 1px solid #fff; background-color: #f1f1f1; } .zebra tfoot td:first-child { -moz-border-radius: 0 0 0 6px; -webkit-border-radius: 0 0 0 6px; border-radius: 0 0 0 6px; } .zebra tfoot td:last-child { -moz-border-radius: 0 0 6px 0; -webkit-border-radius: 0 0 6px 0; border-radius: 0 0 6px 0; } .zebra tfoot td:only-child { -moz-border-radius: 0 0 6px 6px; -webkit-border-radius: 0 0 6px 6px border-radius: 0 0 6px 6px } </style> <!-- * * *此处为重点 * * * --> <script type="text/javascript"> //按年度查询,执行 var xmlhttp; function loadHtml(str) { xmlhttp = null; if (window.XMLHttpRequest()) { xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if(xmlhttp.readyState==4&&xmlhttp.status==200) { document.getElementById("zpxx").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET", "EEIMSelect.jsp?str="+str, true); xmlhttp.send(); } </script> <!-- * * *此处为重点 * * * --> </head> <body> <p align="right"> <input type="text" name="year" id="year"> <input type="button" value="按年度查询" onclick="loadHtml(document.getElementById('year').value)"> </p> <p id="zpxx"> <% request.setCharacterEncoding("utf-8"); SelectDB sd = new SelectDB(); String sql = "SELECT * FROM [EIMS].[dbo].[EEIM]"; ResultSet rs = sd.query(sql); out.println("<table class='zebra'>"); out.println("<tr><td>公司名字</td><td>招聘岗位</td><td>招聘人数</td><td>工作地点</td><td>要求</td><td>工资</td><td>电话</td><td>日期</td></tr>"); while (rs.next()) { int Eid = Integer.parseInt(rs.getString("Eid")); out.println("<tr>"); out.println("<td>" + rs.getString("Ename") + "</td>"); out.println("<td>" + rs.getString("Jvac") + "</td>"); out.println("<td>" + rs.getString("Num") + "</td>"); out.println("<td>" + rs.getString("Workplace") + "</td>"); out.println("<td>" + rs.getString("Requirement") + "</td>"); out.println("<td>" + rs.getString("Salary") + "</td>"); out.println("<td>" + rs.getString("Tel") + "</td>"); out.println("<td>" + rs.getString("Year") + "</td>"); out.println("<td><a href='EEI_show.jsp?Eid=" + Eid + "'>了解更多</a></td>"); } out.println("</table>"); %> </p> </body> </html> out.println("</table>"); %> </p> </body> </html>
실행 중인 인터페이스는 다음과 같습니다.
요청은 다른 인터페이스에서 처리되며 Ajax 기술을 사용하여 동기 새로 고침을 달성할 수 있습니다.
<%@ page language="java" pageEncoding="UTF-8"%> <%@ page import="java.util.*" %> <%@ page import="java.sql.*" %> <%@ page import="TestSQL.SelectDB" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>企业招聘信息</title> <style> body { width: 600px; margin: 40px auto; font-family: 'trebuchet MS', 'Lucida sans', Arial; font-size: 14px; color: #444; } table { *border-collapse: collapse; /* IE7 and lower */ border-spacing: 0; width: 100%; } /*----------------------*/ .zebra td, .zebra th { padding: 10px; border-bottom: 1px solid #f2f2f2; } .zebra tbody tr:nth-child(even) { background: #f5f5f5; -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset; box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; } .zebra th { text-align: left; text-shadow: 0 1px 0 rgba(255,255,255,.5); border-bottom: 1px solid #ccc; background-color: #eee; background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#eee)); background-image: -webkit-linear-gradient(top, #f5f5f5, #eee); background-image: -moz-linear-gradient(top, #f5f5f5, #eee); background-image: -ms-linear-gradient(top, #f5f5f5, #eee); background-image: -o-linear-gradient(top, #f5f5f5, #eee); background-image: linear-gradient(top, #f5f5f5, #eee); } .zebra th:first-child { -moz-border-radius: 6px 0 0 0; -webkit-border-radius: 6px 0 0 0; border-radius: 6px 0 0 0; } .zebra th:last-child { -moz-border-radius: 0 6px 0 0; -webkit-border-radius: 0 6px 0 0; border-radius: 0 6px 0 0; } .zebra th:only-child{ -moz-border-radius: 6px 6px 0 0; -webkit-border-radius: 6px 6px 0 0; border-radius: 6px 6px 0 0; } .zebra tfoot td { border-bottom: 0; border-top: 1px solid #fff; background-color: #f1f1f1; } .zebra tfoot td:first-child { -moz-border-radius: 0 0 0 6px; -webkit-border-radius: 0 0 0 6px; border-radius: 0 0 0 6px; } .zebra tfoot td:last-child { -moz-border-radius: 0 0 6px 0; -webkit-border-radius: 0 0 6px 0; border-radius: 0 0 6px 0; } .zebra tfoot td:only-child{ -moz-border-radius: 0 0 6px 6px; -webkit-border-radius: 0 0 6px 6px border-radius: 0 0 6px 6px } </style> </head> <body> <% request.setCharacterEncoding("utf-8"); String str=request.getParameter("str"); SelectDB sd = new SelectDB(); String sql = "SELECT * FROM [EIMS].[dbo].[EEIM] where Year like '"+str+"%'"; ResultSet rs = sd.query(sql); out.println("<table class='zebra'>"); out.println("<tr><td>公司名字</td><td>招聘岗位</td><td>招聘人数</td><td>工作地点</td><td>要求</td><td>工资</td><td>电话</td><td>日期</td></tr>"); while (rs.next()) { int Eid=Integer.parseInt(rs.getString("Eid")); out.println("<tr>"); out.println("<td>" + rs.getString("Ename") + "</td>"); out.println("<td>" + rs.getString("Jvac") + "</td>"); out.println("<td>" + rs.getString("Num") + "</td>"); out.println("<td>" + rs.getString("Workplace") + "</td>"); out.println("<td>" + rs.getString("Requirement") + "</td>"); out.println("<td>" + rs.getString("Salary") + "</td>"); out.println("<td>" + rs.getString("Tel") + "</td>"); out.println("<td>" + rs.getString("Year") + "</td>"); out.println("<td><a href='EEI_show.jsp?Eid=" + Eid + "'>了解更多</a></td>"); } out.println("</table>"); %> </body> </html>
구현 효과:
위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다! !
관련 권장 사항:
JSP 및 Java 코드를 사용하여 동적 페이지 생성 방법
에서 URL 값 전송 및 수신위 내용은 JSP+ajax를 이용한 분류 쿼리 기능 구현 예제 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!