当再次刷新jsp页面的时候呢,这里只会取到第一个元素也就是下标为0的元素。怎么解决这个问题,我想随便刷新几次都可以完整的遍历数组。就像第一次加载时一样。
【蜘蛛侠TG@abin789】-401
【蜘蛛侠TG@abin789】-402
【蜘蛛侠TG@abin789】-403
【蜘蛛侠TG@abin789】-404
【蜘蛛侠TG@abin789】-405
【蜘蛛侠TG@abin789】-406
【蜘蛛侠TG@abin789】-407
【蜘蛛侠TG@abin789】-408
【蜘蛛侠TG@abin789】-409
【蜘蛛侠TG@abin789】-410
【蜘蛛侠TG@abin789】-411
【蜘蛛侠TG@abin789】-412
【蜘蛛侠TG@abin789】-413
【蜘蛛侠TG@abin789】-414
【蜘蛛侠TG@abin789】-415
【蜘蛛侠TG@abin789】-416
【蜘蛛侠TG@abin789】-417
【蜘蛛侠TG@abin789】-418
【蜘蛛侠TG@abin789】-419
【蜘蛛侠TG@abin789】-420
【蜘蛛侠TG@abin789】-421
【蜘蛛侠TG@abin789】-422
【蜘蛛侠TG@abin789】-423
【蜘蛛侠TG@abin789】-424
【蜘蛛侠TG@abin789】-425
【蜘蛛侠TG@abin789】-426
【蜘蛛侠TG@abin789】-427
【蜘蛛侠TG@abin789】-428
【蜘蛛侠TG@abin789】-429
【蜘蛛侠TG@abin789】-430
【蜘蛛侠TG@abin789】-431
【蜘蛛侠TG@abin789】-432
【蜘蛛侠TG@abin789】-433
【蜘蛛侠TG@abin789】-434
【蜘蛛侠TG@abin789】-435
【蜘蛛侠TG@abin789】-436
【蜘蛛侠TG@abin789】-437
【蜘蛛侠TG@abin789】-438
【蜘蛛侠TG@abin789】-439
【蜘蛛侠TG@abin789】-440
【蜘蛛侠TG@abin789】-441
【蜘蛛侠TG@abin789】-442
【蜘蛛侠TG@abin789】-443
【蜘蛛侠TG@abin789】-444
【蜘蛛侠TG@abin789】-445
【蜘蛛侠TG@abin789】-446
【蜘蛛侠TG@abin789】-447
【蜘蛛侠TG@abin789】-448
【蜘蛛侠TG@abin789】-449
【蜘蛛侠TG@abin789】-450
【蜘蛛侠TG@abin789】-451
【蜘蛛侠TG@abin789】-452
【蜘蛛侠TG@abin789】-453
【蜘蛛侠TG@abin789】-454
【蜘蛛侠TG@abin789】-455
【蜘蛛侠TG@abin789】-456
【蜘蛛侠TG@abin789】-457
【蜘蛛侠TG@abin789】-458
【蜘蛛侠TG@abin789】-459
【蜘蛛侠TG@abin789】-460
【蜘蛛侠TG@abin789】-461
【蜘蛛侠TG@abin789】-462
【蜘蛛侠TG@abin789】-463
【蜘蛛侠TG@abin789】-464
【蜘蛛侠TG@abin789】-465
【蜘蛛侠TG@abin789】-466
【蜘蛛侠TG@abin789】-467
【蜘蛛侠TG@abin789】-468
【蜘蛛侠TG@abin789】-469
【蜘蛛侠TG@abin789】-470
【蜘蛛侠TG@abin789】-471
【蜘蛛侠TG@abin789】-472
【蜘蛛侠TG@abin789】-473
【蜘蛛侠TG@abin789】-474
【蜘蛛侠TG@abin789】-475
【蜘蛛侠TG@abin789】-476
【蜘蛛侠TG@abin789】-477
【蜘蛛侠TG@abin789】-478
【蜘蛛侠TG@abin789】-479
【蜘蛛侠TG@abin789】-480
【蜘蛛侠TG@abin789】-481
【蜘蛛侠TG@abin789】-482
【蜘蛛侠TG@abin789】-483
【蜘蛛侠TG@abin789】-484
【蜘蛛侠TG@abin789】-485
【蜘蛛侠TG@abin789】-486
【蜘蛛侠TG@abin789】-487
【蜘蛛侠TG@abin789】-488
【蜘蛛侠TG@abin789】-489
【蜘蛛侠TG@abin789】-490
【蜘蛛侠TG@abin789】-491
【蜘蛛侠TG@abin789】-492
【蜘蛛侠TG@abin789】-493
【蜘蛛侠TG@abin789】-494
【蜘蛛侠TG@abin789】-495
【蜘蛛侠TG@abin789】-496
【蜘蛛侠TG@abin789】-497
【蜘蛛侠TG@abin789】-498
【蜘蛛侠TG@abin789】-499
【蜘蛛侠TG@abin789】-500
【蜘蛛侠TG@abin789】-501
【蜘蛛侠TG@abin789】-502
【蜘蛛侠TG@abin789】-503
【蜘蛛侠TG@abin789】-504
【蜘蛛侠TG@abin789】-505
【蜘蛛侠TG@abin789】-506
【蜘蛛侠TG@abin789】-507
【蜘蛛侠TG@abin789】-508
【蜘蛛侠TG@abin789】-509
【蜘蛛侠TG@abin789】-510
【蜘蛛侠TG@abin789】-511
【蜘蛛侠TG@abin789】-512
【蜘蛛侠TG@abin789】-513
【蜘蛛侠TG@abin789】-514
【蜘蛛侠TG@abin789】-515
【蜘蛛侠TG@abin789】-516
【蜘蛛侠TG@abin789】-517
【蜘蛛侠TG@abin789】-518
【蜘蛛侠TG@abin789】-519
【蜘蛛侠TG@abin789】-520
【蜘蛛侠TG@abin789】-521
【蜘蛛侠TG@abin789】-522
【蜘蛛侠TG@abin789】-523
【蜘蛛侠TG@abin789】-524
【蜘蛛侠TG@abin789】-525
【蜘蛛侠TG@abin789】-526
【蜘蛛侠TG@abin789】-527
【蜘蛛侠TG@abin789】-528
【蜘蛛侠TG@abin789】-529
【蜘蛛侠TG@abin789】-530
【蜘蛛侠TG@abin789】-531
【蜘蛛侠TG@abin789】-532
【蜘蛛侠TG@abin789】-533
【蜘蛛侠TG@abin789】-534
【蜘蛛侠TG@abin789】-535
【蜘蛛侠TG@abin789】-536
【蜘蛛侠TG@abin789】-537
【蜘蛛侠TG@abin789】-538
【蜘蛛侠TG@abin789】-539
【蜘蛛侠TG@abin789】-540
【蜘蛛侠TG@abin789】-541
【蜘蛛侠TG@abin789】-542
【蜘蛛侠TG@abin789】-543
【蜘蛛侠TG@abin789】-544
【蜘蛛侠TG@abin789】-545
【蜘蛛侠TG@abin789】-546
【蜘蛛侠TG@abin789】-547
【蜘蛛侠TG@abin789】-548
【蜘蛛侠TG@abin789】-549
【蜘蛛侠TG@abin789】-550
【蜘蛛侠TG@abin789】-551
【蜘蛛侠TG@abin789】-552
【蜘蛛侠TG@abin789】-553
【蜘蛛侠TG@abin789】-554
【蜘蛛侠TG@abin789】-555
【蜘蛛侠TG@abin789】-556
【蜘蛛侠TG@abin789】-557
【蜘蛛侠TG@abin789】-558
【蜘蛛侠TG@abin789】-559
【蜘蛛侠TG@abin789】-560
【蜘蛛侠TG@abin789】-561
【蜘蛛侠TG@abin789】-562
【蜘蛛侠TG@abin789】-563
【蜘蛛侠TG@abin789】-564
【蜘蛛侠TG@abin789】-565
【蜘蛛侠TG@abin789】-566
【蜘蛛侠TG@abin789】-567
【蜘蛛侠TG@abin789】-568
【蜘蛛侠TG@abin789】-569
【蜘蛛侠TG@abin789】-570
【蜘蛛侠TG@abin789】-571
【蜘蛛侠TG@abin789】-572
【蜘蛛侠TG@abin789】-573
【蜘蛛侠TG@abin789】-574
【蜘蛛侠TG@abin789】-575
【蜘蛛侠TG@abin789】-576
【蜘蛛侠TG@abin789】-577
【蜘蛛侠TG@abin789】-578
【蜘蛛侠TG@abin789】-579
【蜘蛛侠TG@abin789】-580
【蜘蛛侠TG@abin789】-581
【蜘蛛侠TG@abin789】-582
【蜘蛛侠TG@abin789】-583
【蜘蛛侠TG@abin789】-584
【蜘蛛侠TG@abin789】-585
【蜘蛛侠TG@abin789】-586
【蜘蛛侠TG@abin789】-587
【蜘蛛侠TG@abin789】-588
【蜘蛛侠TG@abin789】-589
【蜘蛛侠TG@abin789】-590
【蜘蛛侠TG@abin789】-591
【蜘蛛侠TG@abin789】-592
【蜘蛛侠TG@abin789】-593
【蜘蛛侠TG@abin789】-594
【蜘蛛侠TG@abin789】-595
【蜘蛛侠TG@abin789】-596
【蜘蛛侠TG@abin789】-597
【蜘蛛侠TG@abin789】-598
【蜘蛛侠TG@abin789】-599
【蜘蛛侠TG@abin789】-600
优化后的IterationTag代码:
package Tag; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.TagSupport; public class IterationTag extends TagSupport { private static final long serialVersionUID = -5307403677622510370L; private String var; private String[] items; private int count; @Override public int doStartTag() throws JspException { if(var!=null&&items.length>0) {// pageContext.setAttribute(var, items[0]); count=0; return EVAL_BODY_INCLUDE; }else { return SKIP_BODY; } } @Override public int doAfterBody() throws JspException { if(count<items.length) { pageContext.setAttribute(var, items[count]); count++; return EVAL_BODY_AGAIN; }else { return SKIP_BODY; } } public void setVar(String var) { this.var = var; } public void setItems(String[] items) { this.items = items; } }
可以优化一下老师的代码即可解决问题啦~~
标签处理类
package jsp.lib.tag.jstl;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
public class ForTag extends TagSupport {
/**
*
* <p>
* Description:
* </p>
*
* @author 程序员(小陈)
*
* @date 2018年11月24日
*
*/
private static final long serialVersionUID = 2563062742541978797L;
public void setVar(String var) {
this.var = var;
}
public void setDatas(String[] datas) {
this.datas = datas;
}
private String var;
private String[] datas;
private int index = 0;
@Override
public int doStartTag() throws JspException {
System.out.println("ForTag --- doStartTag() ");
// TODO Auto-generated method stub
index = 0;
if (var != null && datas != null) {
return EVAL_BODY_INCLUDE;
} else {
return SKIP_BODY;
}
}
@Override
public int doAfterBody() throws JspException {
System.out.println("ForTag --- doAfterBody() ");
// TODO Auto-generated method stub
if (index < datas.length) {
pageContext.getRequest().setAttribute(var, datas[index]);
index++;
return EVAL_BODY_AGAIN;
} else {
return SKIP_BODY;
}
}
}
JSP页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/hool" prefix="hool"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSP Tag for Use</title>
</head>
<body>
<h1>JSP Tag for Use</h1>
<%
String[] datas = { "Java", "PHP", "JSP", "Servlet", "Spring", "SQL Server", "MySQL" };
pageContext.setAttribute("datas", datas);
%>
<hool:for datas="${datas}" var="non">
<h3>
<c:out value="${non}" />
</h3>
</hool:for>
</body>
</html>
标签库文件:
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>Hool</short-name>
<uri>http://java.sun.com/jsp/jstl/hool</uri>
<tag>
<name>for</name>
<tag-class>jsp.lib.tag.jstl.ForTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>var</name>
<required>true</required>
</attribute>
<attribute>
<name>datas</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
有缓存