JS与JQ与ajax&&el与jstl

本文介绍了JavaScript(JS)与jQuery的关系,强调jQuery是一个简化JS使用的库,但底层仍依赖原生JS。接着讨论了AJAX技术,它结合XML、CSS和JS实现页面无刷新的服务器交互。最后,阐述了EL(Expression Language)和JSTL(JSP Standard Tag Library)在JSP开发中的作用,EL用于查找和操作作用域数据,而JSTL提供了一套标签库以提高代码可读性和复用性,两者常配合使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS与JQ与ajax&&el与jstl

js与JQ

js是一种弱类型的语言,JQuery是一个js的库,只是简化了一些原生js的语言使用,比如获取一个元素,原生js使用document.getElementById(“id”),使用JQuery只需要$("#id"),就可以获取,但是底层JQuery还是调用了原生的getElementById()方法的,只是简化了许多的代码编写,JQuery能实现的,js一定能实现,js能实现的,JQuery就不一定行了,如果学过java的话,就像java的许多框架一样,都是为了提高开发效率的

js基础
练习:99乘法表
			    <script>
			        document.write("<table  align='center'>");


			        //1.完成基本的for循环嵌套,展示乘法表
			        for (var i = 1; i <= 9 ; i++) {
			            document.write("<tr>");
			            for (var j = 1; j <=i ; j++) {
			                document.write("<td>");
			                //输出  1 * 1 = 1
			                document.write(i + " * " + j + " = " + ( i*j) +"&nbsp;&nbsp;&nbsp;");
			                document.write("</td>");
			            }
			            /*//输出换行
			            document.write("<br>");*/
			            document.write("</tr>");
			        }
			        //2.完成表格嵌套
			        document.write("</table>");
			    </script>
基本对象:
			1. Function:函数(方法)对象
                1. 创建:
                    1. var fun = new Function(形式参数列表,方法体);  //忘掉吧
                    2. 
	                    function 方法名称(形式参数列表){
                            方法体
                        }
                    3. 
	                   var 方法名 = function(形式参数列表){
                            方法体
                       }
                5. 调用:
                    方法名称(实际参数列表);
                6.
                   1.Array:数组对象
                  var arr = new Array(元素列表);
                   2. 方法
                    join(参数):将数组中的元素按照指定的分隔符拼接为字符串
                    push()	向数组的末尾添加一个或更多元素,并返回新的长度。
                  3. 属性
                    length:数组的长度
              7.时间对象
                 var date = new Date();
js高级
DOM简单学习:为了满足案例要求
	* 功能:控制html文档的内容
	* 获取页面标签(元素)对象:Element
		* document.getElementById("id值"):通过元素的id获取元素对象

	* 操作Element对象:
		1. 修改属性值:
			1. 明确获取的对象是哪一个?
			2. 查看API文档,找其中有哪些属性可以设置
		2. 修改标签体内容:
			* 属性:innerHTML
			1. 获取元素对象
			2. 使用innerHTML属性修改标签体内容
事件简单学习
       light2.onclick = fun2;
BOM:
1. 概念:Browser Object Model 浏览器对象模型
		* 将浏览器的各个组成部分封装成对象。

	2. 组成:
		* Window:窗口对象
		* Navigator:浏览器对象
		* Screen:显示器屏幕对象
		* History:历史记录对象
		* Location:地址栏对象

ajax

AJAX是指一种创建交互式网页应用的网页开发技术
ajax包括了xml css js 3个技术
AJAX和PHP结合起来就和做到页面不刷新 和服务器交互 就这样

el与jstl

EL(Expression Language)是一种表达式语言,主要用于查找作用域中的数据,然后对它们执行一些简单的操作,用于对jsp标签的属性赋值。它不是编程语言

JSTL( JSP Standard Tag Library)是JSP标准 标签库,由apache实现,因为在jsp中出现大量Java代码不利于维护,sun公司就制定了一个类似于html标签一下的jsp标签技术,也有开始于结束标记。我们可以引用标签来调用标签库中的Java代码片段来实现一下操作。使用jsp标准标签库有利于程序的可读性,提高了代码的复用性与编程效率。其目的就是为了jsp中不出现Java代码片段。这两者关系,JSTL通常会结合EL一起使用。也有理解为EL是JSTL的一部分。EL也可以单独使用。

如何使用el
EL表达式的基本格式由$与{}组成,例如:${user.name}  即其意思就是查询得到user对象中的name属性的值。
如何使用jstl ?

第一步:引入jstl.jar以及 standard.jar两个架包注:在javaEE5.0以上的版本不需要引入这两个架包,因为在javaEE5.0以上的版本已经包含了这两个架包。
将jstl.jar和standard.jar两个包考到现有工程  WebRoot / WEB-INF / lib 目录下
  
第二步: 使用taglib指令导入要使用的JSP标签 <%@taglib uri="" prefix="" %>

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

uri:JSP标签的命名空间
prefix:命名空间的前缀(简称)

第三步: 使用常见的标签

1 if标签
< c:if test= "" var = "" scope= "" >
标签体的内容
</c:if >
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>动漫搜索</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript"> var xmlhttp; function loadXMLDoc(url,cfun) { // alert("hadhfaf"); xmlhttp=new XMLHttpRequest(); xmlhttp.onreadystatechange=cfun; xmlhttp.open("GET",url,true); xmlhttp.send(); } function myfunction(id,times) { //alert("123"); loadXMLDoc("open.jsp?id="+id+"&times="+times+"&t="+Math.random(),function() { //alert(xmlhttp.status); if(xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById(id).innerHTML=xmlhttp.responseText; } }); } </script> <% //currentPage当前显示页数 if (request.getParameter("currentPage") == null||request.getParameter("currentPage").equals("")) { pageContext.setAttribute("currentPage", new Integer(0)); } else { pageContext.setAttribute("currentPage", request .getParameter("currentPage")); } %> <sql:query var="rs" dataSource="jdbc/mysql"> select* from anime </sql:query> <!-- 得到所有记录数 --> <c:set var="resultNum"> <jsp:getProperty name="rs" property="rowCount" /> </c:set> <!-- 每页显示记录数 --> <c:set var="PerPageNum" value="3" /> </head> <style type="text/css"> body{background-color:} </style> <body> <% int perPageNum = Integer.parseInt((String) pageContext .getAttribute("PerPageNum")); int resultNum = Integer.parseInt((String) pageContext .getAttribute("resultNum")); int pageNum; //如果所有记录数除每页显示记录数没有余数-1 if((int)resultNum%perPageNum==0) pageNum = (int)(resultNum / perPageNum-1); else pageNum = (int)(resultNum / perPageNum); pageContext.setAttribute("pageNum", pageNum); %> <div style="border:1px solid #cccccc; width:1100px;margin:100px 0 0 90px"> <table style=" width:1100px;"> <tr> <td>序号</td> <td>热搜动漫</td> <td>动漫简介</td> <td>更新集数</td> <td>搜索指数</td> <td>动漫详情</td> </tr> <c:if test="${currentPage lt 0 }"><!-- 当前显示页小于0 --> <c:set var="currentPage" value="0"></c:set> </c:if> <c:if test="${currentPage gt pageNum}"><!-- 当前显示页大于总页数 --> <c:set var="currentPage" value="${pageNum }"></c:set> </c:if> <c:set var="currentPage" value="${currentPage}" scope="session" /> <!-- 循环查找记录 --> <c:forEach var="row" items="${rs.rows}" begin="${currentPage*PerPageNum}" end="${PerPageNum+currentPage*PerPageNum-1}" > <tr> <td> ${row.id }</td> <td> <img src="image/${row.image}" width="50" height="50"/></td> <td style="width:600"> ${row.introduce}</td> <td> ${row.blues} </td> <td> ${row.times }</td> <c:set var="times" value="${row.times }" scope="session" /> <td> <input type="button" value="展开" onclick="myfunction(${row.id },${row.times })"/> </td> </tr> <tr> <td colspan=6 id="${row.id}"></td> </tr> </c:forEach> </table> <div style="margin:0px 0px 0px 800px"> 总共有${pageNum+1}页-第${currentPage+1}页-<a href="index.jsp?currentPage=${currentPage-1}">上一页</a> - <a href="index.jsp?currentPage=${currentPage+1}">下一页</a> </div> </div> </body> </html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值