Home  >  Article  >  Java  >  s:iterator usage and examples

s:iterator usage and examples

高洛峰
高洛峰Original
2016-12-13 17:29:452007browse

s: Iterator attribute introduction

s:iterator usage and examples

*IneratorStatus object introduction:

This type of object encapsulates the relevant information of this cycle, which is obtained by accessing its attributes. The main attributes are:

  Index: The current loop to Index of the collection

  Count: The number of times it has been cycled

  First: Whether it is the first cycle

  Last: Whether it is the last cycle

 odd: Whether the current position is an odd number

Even: whether the current position is an even number

eg:

Create a new class Action1.java, the code is as follows:

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;
    }
}

Create a new jsp file/iterator.jsp, remember to introduce the Struts tag

<%@ 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>

The last configuration file is:

<?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>

The author is using Struts2 version 2.3.30 , the configuration files of different versions are different.

Run one:

s:iterator 的 属性

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn