s:iterator
*IneratorStatus 객체 소개:
이 유형의 객체는 이 주기의 관련 정보를 캡슐화합니다. , 해당 속성을 통해 액세스할 수 있습니다. 주요 속성은 다음과 같습니다.
인덱스: 현재 루프된 컬렉션의 인덱스
개수: 루프된 횟수
first : 첫 번째 루프인지
last : 마지막 루프인지
홀수 : 현재 위치가 홀수인지
even: 현재 위치가 짝수인지 여부
예:
다음 코드를 사용하여 새 클래스 Action1.java를 만듭니다.
package my.test; import com.opensymphony.xwork2.ActionSupport; public class Action1 extends ActionSupport{ private String[] arr=new String[5]; //一定要添加get/set方法,否则会出现空指针异常 public String[] getArr() { return arr; } public void setArr(String[] arr) { this.arr = arr; } public String execute(){ int i=101; //下面的for循环的赋值不起作用 for(String a:arr){ a=""+i++; } arr[3]="this is 3";//这里验证上面的for循环对arr的赋值是不起作用的,这里由String数组和String的特性来决定,看运行结果即可 return SUCCESS; } }
새 jsp 파일/반복자를 만듭니다. .jsp, Struts 태그를 소개하는 것을 잊지 마세요
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <s:debug></s:debug> <s:iterator var="one" value="arr" begin="2" status="sta"> <!-- 由于循环到的值保存到值栈中,所以下面通过s:property标签取值 --> 循环到的值为:<s:property value="one"/><br> 循环的次数为:<s:property value="#sta.count"/><br> 循环的索引为:<s:property value="#sta.index"/><br> 是否为奇数:<s:property value="#sta.odd"/><hr> </s:iterator> </body> </html>
마지막으로 구성 파일을 만듭니다.
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="test" namespace="/" extends="struts-default"> <action name="iterator" class="my.test.Action1"> <result>/iterator.jsp</result> </action> <action name="index"> <result type="redirectAction"> <param name="actionName">HelloWorld</param> <param name="namespace">/example</param> </result> </action> </package> <!-- Add packages here --> </struts>
저자는 Struts2 버전 2.3.30을 사용하고 있습니다. 다르다
한 번 실행: