• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • JavaWeb核心技術系列教程(29)——JSTL Core標簽庫


    C語言自學完備手冊(33篇)

    Android多分辨率適配框架

    JavaWeb核心技術系列教程

    HTML5前端開發實戰系列教程

    MySQL數據庫實操教程(35篇圖文版)

    推翻自己和過往——自定義View系列教程(10篇)

    走出思維困境,踏上精進之路——Android開發進階精華錄

    講給Android程序員看的前端系列教程(40集免費****+源碼)


    版權聲明

    • 本文原創作者:谷哥的小弟
    • 作者博客地址:http://blog.csdn.net/lfdfhl

    Core標簽庫是JSTL中的核心標簽庫,該庫中包含Web應用中通用操作的標簽。在JSP頁面中,可使用taglib指令引入Core標簽庫:

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

    在此,我們對該庫中的常用標簽進行詳細講解。

    <c:out>

    <c:out>用于將文本或表達式的結果輸出到客戶端瀏覽器。

    語法如下:

    <c:out value="內容" [escapeXml="true|false"] [default="默認值"]/>
    
    <c:out value="內容" [escapeXml="true|false"]>默認值</c:out>
    

    在該語法中,各屬性作用如下:

    • value屬性用于指定輸出的內容
    • default屬性用于指定當value屬性值為null時所輸出的默認值
    • escapeXml屬性用于指定是否將>、<、&、’、"等特殊字符進行HTML編碼轉換后再進行輸出,默認值為true表示先編碼后輸出。

    示例如下:
    在這里插入圖片描述
    Address

    package cn.com;
    
    public class Address {
    	private String province;
    	private String city;
    	private String street;
    	public Address() {
    	}
    	public String getProvince() {
    		return province;
    	}
    	public void setProvince(String province) {
    		this.province = province;
    	}
    	public String getCity() {
    		return city;
    	}
    	public void setCity(String city) {
    		this.city = city;
    	}
    	public String getStreet() {
    		return street;
    	}
    	public void setStreet(String street) {
    		this.street = street;
    	}
    	@Override
    	public String toString() {
    		return "Address [province=" + province + ", city=" + city + ", street=" + street + "]";
    	}
    	
    	
    }
    

    Person

    package cn.com;
    
    public class Person {
    	private String name;
    	private int age;
    	private Address address;
    	public Person() {
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public Address getAddress() {
    		return address;
    	}
    	public void setAddress(Address address) {
    		this.address = address;
    	}
    	@Override
    	public String toString() {
    		return "Person [name=" + name + ", age=" + age + ", address=" + address + "]";
    	}
    	
    }
    

    index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@page import="cn.com.Person"%>
    <%@page import="cn.com.Address"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<title>index</title>
    	</head>
    	<body>
    		<h2 style="color: red;">本文作者:谷哥的小弟</h2>
    		<h2 style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
    		<h2>c:out標簽使用示例</h2>
    		
    		<h4>輸出字符串</h4>
            <c:out value="Hello JSTL" />
            <br/>
            
            <h4>輸出對象屬性值</h4>
            <%
    		  Address address = new Address();
    		  address.setProvince("河北省");
    		  address.setCity("保定市");
    		  address.setStreet("學府路");
    		  Person person = new Person();
    		  person.setName("周星星");
    		  person.setAge(55);
    		  person.setAddress(address);
    		  request.setAttribute("person", person);
    	    %>
    	    <c:out value="${person.address.city}"></c:out>
            
            <h4>輸出默認值</h4>
            <h6>測試URL:http://localhost:8080/JSTL02/index.jsp</h6>
            <h6>測試URL:http://localhost:8080/JSTL02/index.jsp?name=zxx</h6>
            name:<c:out value="${param.name}" default="unknown" />
            <br/>
            name:<c:out value="${param.name}" >unknown</c:out>
            <br/>
            
            <h4>編碼特殊字符</h4>
            <c:out value="<a >我的博客</a>" escapeXml="true"></c:out>
    	    <br/>
    	    <c:out value="<a >我的博客</a>" escapeXml="false"></c:out>
    	    <br/>
    	    <c:out value="&lt;br/&gt;" escapeXml="true"></c:out>
    	    <br/>
    	    <c:out value="&lt;br/&gt;" escapeXml="false"></c:out>
    	    <br/>
            
    	</body>
    </html>
    

    結果如下:
    在這里插入圖片描述

    <c:set>

    <c:set>用于將屬性值保存至域、JavaBean、Map

    語法如下:

    將屬性值保存至域

    <c:set var="屬性名" value="屬性值" [scope="page|request|session|application"]/>
    

    <c:set var="屬性名" [scope="page|request|session|application"]>
         屬性值
    </c:set>
    

    將屬性值保存至JavaBean或Map

    <c:set property="屬性名" value="屬性值" target="JavaBean或Map"/>
    
    <c:set property="屬性名" target="JavaBean或Map" >
         屬性值
    </c:set>
    

    在該語法中,各屬性作用如下:

    • var屬性用于指定域中所設置的屬性的名稱。
    • value屬性用于設置屬性的值。
    • scope屬性用于指定屬性所在的域。
    • target屬性用于指定所設置屬性的對象,該對象必須是JavaBean對象或Map對象。
    • property屬性用于指定所設置屬性的對象的屬性名稱。

    示例如下:
    在這里插入圖片描述
    Address

    package cn.com;
    
    public class Address {
    	private String province;
    	private String city;
    	private String street;
    	public Address() {
    	}
    	public String getProvince() {
    		return province;
    	}
    	public void setProvince(String province) {
    		this.province = province;
    	}
    	public String getCity() {
    		return city;
    	}
    	public void setCity(String city) {
    		this.city = city;
    	}
    	public String getStreet() {
    		return street;
    	}
    	public void setStreet(String street) {
    		this.street = street;
    	}
    	@Override
    	public String toString() {
    		return "Address [province=" + province + ", city=" + city + ", street=" + street + "]";
    	}
    	
    	
    }
    

    Person

    package cn.com;
    
    public class Person {
    	private String name;
    	private int age;
    	private Address address;
    	public Person() {
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public Address getAddress() {
    		return address;
    	}
    	public void setAddress(Address address) {
    		this.address = address;
    	}
    	@Override
    	public String toString() {
    		return "Person [name=" + name + ", age=" + age + ", address=" + address + "]";
    	}
    	
    }
    

    index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@page import="cn.com.Person"%>
    <%@page import="cn.com.Address"%>
    <%@page import="java.util.HashMap"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<title>index</title>
    	</head>
    	<body>
    		<h2 style="color: red;">本文作者:谷哥的小弟</h2>
    		<h2 style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
    		<h2>c:set標簽使用示例</h2>
    
    		<h4>將屬性保存至page域</h4>
    		<c:set var="username" value="zxx" scope="page" />
    		從page域中得到屬性值:<c:out value="${pageScope.username}">unknown</c:out>
    		<br />
    
    		<h4>將屬性保存至request域</h4>
    		<c:set var="city" value="BeiJing" scope="request" />
    		從request域中得到屬性值:<c:out value="${requestScope.city}">unknown</c:out>
    		<br />
    
    		<h4>將屬性保存至session域</h4>
    		<c:set var="gender" value="male" scope="session" />
    		從session域中得到屬性值:<c:out value="${sessionScope.gender}">unknown</c:out>
    		<br />
    
    		<h4>將屬性保存至application域</h4>
    		<c:set var="hobby" value="movie" scope="application"></c:set>
    		從application域中得到屬性值:<c:out value="${applicationScope.hobby}">unknown</c:out>
    		<br />
    
    		<h4>將屬性保存至JavaBean</h4>
    		<%
    		   Person person=new Person();
    		   Address address=new Address();
    		   session.setAttribute("person", person);
    		   session.setAttribute("address", address);
    		%>
    		<c:set target="${person}" property="name" value="周星星" />
    		<c:set target="${person}" property="age" value="55" />
    		<c:set target="${address}" property="province">安徽</c:set>
    		<c:set target="${address}" property="city">合肥</c:set>
    		<c:set target="${address}" property="street">包公祠路</c:set>
    
    		<c:out value="${person.name}">unknown</c:out>
    		<br />
    		<c:out value="${person.age}">unknown</c:out>
    		<br />
    		<c:out value="${address.province}">unknown</c:out>
    		<br />
    		<c:out value="${address.city}">unknown</c:out>
    		<br />
    		<c:out value="${address.street}">unknown</c:out>
    		<br>
    
            <h4>將屬性保存至Map</h4>
    		<%
    	      HashMap<String,String> hashMap=new HashMap<String,String>();
    	      request.setAttribute("hashMap", hashMap);
    	    %>
    		<c:set target="${hashMap}" property="name" value="rose"></c:set>
    		<c:out value="${hashMap.name}"></c:out>
    
    	</body>
    </html>
    

    結果如下:

    在這里插入圖片描述

    <c:if>

    <c:if>主要用于條件判斷。

    語法如下:

    <c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/>
    
    <c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]>
        body
    </c:if>
    

    在該語法中,各屬性作用如下:

    • test屬性用于存放判斷的條件,常使用EL表達式作為判斷條件
    • var屬性用于指定邏輯表達式中變量的名字
    • scopes屬性用來指定var變量的作用范圍,默認為page

    示例如下:
    在這里插入圖片描述

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<title>index</title>
    	</head>
    	<body>
    		<h2 style="color: red;">本文作者:谷哥的小弟</h2>
    		<h2 style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
    		<h2>c:if標簽使用示例</h2>
    
    	    <c:set var="userid" value="zxx9527"/>
            <c:if test="${not empty userid}">
                userid:<c:out value="${userid}"/>
            </c:if>
    	</body>
    </html>
    

    結果如下:
    在這里插入圖片描述

    <c:choose> 、<c:when>、<c:otherwise>

    在JSP頁面中可以JSTL的<c:choose> 、<c:when>、<c:otherwise>標簽進行類似于if else結構的條件判斷。

    <c:choose>標簽沒有屬性,在它的標簽體中只能嵌套一個或多個<c:when>標簽和零個或一個<c:otherwise>標簽。

    <c:when>標簽只有一個test屬性,該屬性的值為布爾類型。如果test屬性的值為true,則執行<c:when>標簽體的內容。

    <c:otherwise>標簽沒有屬性,它作為<c:choose>標簽的最后分支出現,當所有的<c:when>標簽的test條件都不成立時才執行<c:otherwise>標簽體的內容。

    示例如下:
    在這里插入圖片描述

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<title>index</title>
    	</head>
    	<body>
    		<h2 style="color: red;">本文作者:谷哥的小弟</h2>
    		<h2 style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
    		<h2>c:choose、c:when、c:otherwise標簽使用示例</h2>
    
    		<c:set var="score" value="88" />
    		
    		<c:choose>
    			<c:when test="${score>=90}">
    				您的成績為優秀
    			</c:when>
    			<c:when test="${score>=70 && score<90}">
    				您的成績為良好
    			</c:when>
    			<c:when test="${score>=60 && score<70}">
    				您的成績為及格
    			</c:when>
    			<c:otherwise>
    				您的成績為不及格
    			</c:otherwise>
    		</c:choose>
    	</body>
    </html>
    

    結果如下:
    在這里插入圖片描述

    <c:forEach> 、<c:forToken>

    <c:forEach>用于迭代集合,例如:數組,List,Map

    語法如下:

    <c:forEach var="name" items="Collection" varStatus="StatusName" >
        body
    </c:forEach>
    

    在該語法中,各屬性作用如下:

    • var屬性用于表示當前迭代元素
    • items屬性表示待遍歷的集合
    • varStatus屬性表示當前迭代元素的狀態信息;請常用信息如下:
      count:表示元素在集合中的序號,從1開始計數。
      index:表示當前元素在集合中的索引,從0開始計數。
      first:表示當前是否為集合中的第一個元素。
      last:表示當前是否為集合中的最后一個元素。

    <c:forToken>用于按照分隔符迭代字符串。

    語法如下:

    <c:forTokens var="substring" items="string" delims="delimiters">
        body
    </c:forTokens>
    

    在該語法中,各屬性作用如下:

    • var屬性用于表示當前迭代子串
    • items屬性表示待迭代字符串
    • delims屬性表示分隔符

    示例如下:
    在這里插入圖片描述

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@page import="java.util.HashMap"%>
    <%@page import="java.util.ArrayList"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<title>index</title>
    	</head>
    	<body>
    		<h2 style="color: red;">本文作者:谷哥的小弟</h2>
    		<h2 style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
    		<h2>c:forEach、forToken標簽使用示例</h2>
    
    		<h4>c:forEach遍歷數組</h4>
    		<%
    		   String [] fruitArray={"apple","orange","banana"};
    	    %>
    		String數組中的元素:<br>
    		<c:forEach var="name" items="<%=fruitArray%>">
    			${name}<br />
    		</c:forEach>
    		
    		<h4>c:forEach迭代Map</h4>
    		<%
    	       HashMap<String,String> userHashMap = new HashMap<String,String>();
    	       userHashMap.put("lili","ID123");
    	       userHashMap.put("tutu","ID456");
    	       userHashMap.put("pmpm","ID789");
    	    %>
    		HashMap集合中的元素:<br>
    		<c:forEach var="user" items="<%=userHashMap%>">
    			${user.key}=${user.value}<br />
    		</c:forEach>
    
    		<h4>c:forEach迭代List</h4>
    		<%
    	       ArrayList<String> teacherArrayList=new ArrayList<String>();
    		   teacherArrayList.add("xixi");
    		   teacherArrayList.add("lele");
    		   teacherArrayList.add("rprp");
    	    %>
    		ArrayList集合中的元素:<br>
    		<c:forEach var="teacher" items="<%=teacherArrayList%>">
    			${teacher}<br />
    		</c:forEach>
    
    		<h4>c:forEach迭代集合并獲取各元素狀態</h4>
    		<%
    	       ArrayList<String> studentArrayList=new ArrayList<String>();
    	       studentArrayList.add("adad");
    	       studentArrayList.add("ftft");
    	       studentArrayList.add("vmvm");
    	    %>
    		ArrayList集合中的元素及其狀態:<br>
    		<table border="1">
    			<tr>
    				<td>元素的值</td>
    				<td>序號</td>
    				<td>索引</td>
    				<td>是否為第一個元素</td>
    				<td>是否為最后一個元素</td>
    			</tr>
    			<c:forEach var="student" items="<%=studentArrayList%>" varStatus="status">
    				<tr>
    					<td>${student}</td>
    					<td>${status.count}</td>
    					<td>${status.index}</td>
    					<td>${status.first}</td>
    					<td>${status.last}</td>
    				</tr>
    			</c:forEach>
    		</table>
    		
    		<h4>c:forToken迭代字符串</h4>
    		<c:forTokens var="substring" items="明,天,又,是,充,滿,希,望,的,一,天" delims=",">
    			${substring}<br />
    		</c:forTokens>
    	</body>
    </html>
    

    結果如下:
    在這里插入圖片描述

    <c:url>、 <c:param>、<c:redirect>

    在JSP頁面中可使用JSTL標簽<c:url>、 <c:param>、<c:redirect>完成URL的重寫以及重定向等功能。

    <c:url>用于重新構造URL。

    <c:param>用于攜帶請求參數。

    <c:redirect>負責重定向。

    示例如下:
    在這里插入圖片描述
    index.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<title>index</title>
    	</head>
    	<body>
    		<h2 style="color: red;">本文作者:谷哥的小弟</h2>
    		<h2 style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
    		<h2>c:url、c:param、c:redirect標簽使用示例</h2>
    
    	   <c:url var="redirectURL" value="redirect.jsp">
    		 <c:param name="username" value="倩倩" />
    		 <c:param name="country" value="中國" />
    	  </c:url>
    	  <c:redirect url="${redirectURL}" />
    	  
    	</body>
    </html>
    

    redirect.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <!DOCTYPE>
    <html>
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    		<title>Redirect Page</title>
    	</head>
    	<body>
    		<h2 style="color: red;">本文作者:谷哥的小弟</h2>
    		<h2 style="color: red;">博客地址:http://blog.csdn.net/lfdfhl</h2>
    		<%
     		   String username=request.getParameter("username");
      		   String country=request.getParameter("country");
            %>
    		username=<%= username%>
    		<br /><br />
    		country=<%= country%>
    	</body>
    </html>
    

    結果如下:
    在這里插入圖片描述

    版權聲明:本文為lfdfhl原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/lfdfhl/article/details/102337920

    智能推薦

    JavaWeb-Jsp標簽,Jstl標簽庫

    6.2Jsp標簽,Jstl標簽 Jstl標簽庫 Jstl標簽庫的使用,就是為了彌補HTML標簽的不足,它自定義了許多標簽供我們使用。其標簽的功能,和Java代碼一樣。 分類: 核心標簽(掌握) 部分常用標簽: 使用步驟: 1.導入核心標簽庫 2.使用其中的方法 3.在Tomcat的本地目錄中導入Jstl和Standard的jar包,否則會報錯500; 常用的測試舉例: C:If測試: 注意取值方式...

    JSTL標簽庫技術學習

    JSTL標簽庫的主要函數演示。 導包 c:out標簽演示 c:out標簽等價 ${ 標識符} 的輸出功能,不同點在于 c:out標簽有兩個屬性 defalut屬性,當讀取的屬性不存在,則輸出默認值 escapeXml屬性, 當該屬性設置為true(默認)時,會把”<”編碼成”<”輸出,若設為false則不編碼 c:set標簽演示 1.給J...

    JavaWeb核心技術系列教程(13)——請求重定向

    C語言自學完備手冊(33篇) Android多分辨率適配框架 JavaWeb核心技術系列教程 HTML5前端開發實戰系列教程 MySQL數據庫實操教程(35篇圖文版) 推翻自己和過往——自定義View系列教程(10篇) 走出思維困境,踏上精進之路——Android開發進階精華錄 講給Android程序員看的前端系列教程(40集免費****+源碼) 版...

    JavaWeb核心技術系列教程(12)——HttpServletRequest應用示例

    C語言自學完備手冊(33篇) Android多分辨率適配框架 JavaWeb核心技術系列教程 HTML5前端開發實戰系列教程 MySQL數據庫實操教程(35篇圖文版) 推翻自己和過往——自定義View系列教程(10篇) 走出思維困境,踏上精進之路——Android開發進階精華錄 講給Android程序員看的前端系列教程(40集免費****+源碼) 版...

    JavaWeb核心技術系列教程(15)——Cookie

    C語言自學完備手冊(33篇) Android多分辨率適配框架 JavaWeb核心技術系列教程 HTML5前端開發實戰系列教程 MySQL數據庫實操教程(35篇圖文版) 推翻自己和過往——自定義View系列教程(10篇) 走出思維困境,踏上精進之路——Android開發進階精華錄 講給Android程序員看的前端系列教程(40集免費****+源碼) 版...

    猜你喜歡

    hive 導出數據之一列多行,轉為一行多列

    需求:提取數據 說明:原數據是一列多行,需要轉化為一行多列 待查詢表為:temp_05 待查詢數據為: 待查詢數據如圖: 需要提取的數據表頭如下: 預定日期 昨日價格 前天價格 2018-02-01 2018-02-02 2018-02-03 2018-02-04 可用提數 SQL 數據如圖: 以下為嘗試過程 數據如圖: 數據如圖: 數據如圖: 數據如圖:...

    asp.net做一個簡易的聊天室

    要求: 結果: 關鍵代碼: Default.aspx Default.aspx.cs Default2.aspx Default2.aspx.cs Default3.aspx Default3.aspx.cs Default4.aspx...

    動態SQL和多表關聯-筆記

    《動態SQL與多表關聯》筆記 學習目標 能夠使用動態SQL完成SQL拼接 能夠使用resultMap完成多表查詢 能夠使用一對一查詢 能夠使用一對多查詢 (注:多對多其實就是兩個一個多) 映射文件:為什么要resultMap 目標 定義結果映射 使用結果映射 回顧 在mybatis中有2種配置文件: 核心配置文件,如:sqlMapConfig.xml 實體類映射文件,如:UserMapper.xm...

    【OpenGL C++ UE4】獲取模型頂點及面索引數據,并優化存儲結構供UE4繪制

    目錄 一、功能需求 二、成果 三、環境配置 四、詳細步驟 4.1 Max制作三棱錐并處理 4.2 核心代碼 4.2.1 傳入結構體數據 4.2.2 頂點去重、更新索引 4.2.3 輸出本地CSV文件 4.3 UE4繪制 一、功能需求 想必你肯定會問我一個問題,UE4直接導入模型不好么? 哈哈,前提是在做畢設時,導師提供的只有頂點與面索引數據,沒有模型。 下文詳細介紹了畢設開發中的難點,涉...

    解決Pyinstaller打包numpy和pandas庫文件過大問題

    解決Pyinstaller壓縮numpy和pandas庫文件過大問題 文件包類型和網上的方法 Windows下docker的安裝 在docker下實現打包     今天是2021年的第一天,先祝各位小伙伴現年快樂哈。最近因為做了一個項目,需要打包文件,文件中包含了numpy和pandas庫,結果打包出來幾百行的代碼居然要900m,人都傻了,翻遍了全網找解決方...

    精品国产乱码久久久久久蜜桃不卡