`
davidxiaozhi
  • 浏览: 241626 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2标签for循环的实现

阅读更多

<s:set name="start" value="10" />   //start是从前一个页面中传递过来的参数

<s:set name="end" value="30" />   //end是从前一个页面中传递过来的参数

<s:bean name="org.apache.struts2.util.Counter" id="counter">

        <s:param name="first" value="%{#start}" /><!-- 可以控制开始和结束 -->

        <s:param name="last" value="%{#end}" />

        <s:iterator>  

              <s:property/>

 

        </s:iterator>

 </s:bean>

 

 

 

org.apache.struts2.util.Counter源码

 

 

/*
* $Id: Counter.java 471756 2006-11-06 15:01:43Z husted $
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.   See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.   The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.   You may obtain a copy of the License at
*
*  http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.   See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.struts2.util;

import java.io.Serializable;


/**
* A bean that can be used to keep track of a counter.
* <p/>
* Since it is an Iterator it can be used by the iterator tag
*
*/
public class Counter implements java.util.Iterator, Serializable {

     private static final long serialVersionUID = 2796965884308060179L;

     boolean wrap = false;

     // Attributes ----------------------------------------------------
     long first = 1;
     long current = first;
     long interval = 1;
     long last = -1;


     public void setAdd(long addition) {
         current += addition;
     }

     public void setCurrent(long current) {
         this.current = current;
     }

     public long getCurrent() {
         return current;
     }

     public void setFirst(long first) {
         this.first = first;
         current = first;
     }

     public long getFirst() {
         return first;
     }

     public void setInterval(long interval) {
         this.interval = interval;
     }

     public long getInterval() {
         return interval;
     }

     public void setLast(long last) {
         this.last = last;
     }

     public long getLast() {
         return last;
     }

     // Public --------------------------------------------------------
     public long getNext() {
         long next = current;
         current += interval;

         if (wrap && (current > last)) {
             current -= ((1 + last) - first);
         }

         return next;
     }

     public long getPrevious() {
         current -= interval;

         if (wrap && (current < first)) {
             current += (last - first + 1);
         }

         return current;
     }

     public void setWrap(boolean wrap) {
         this.wrap = wrap;
     }

     public boolean isWrap() {
         return wrap;
     }

     public boolean hasNext() {
         return ((last == -1) || wrap) ? true : (current <= last);
     }

     public Object next() {
         return new Long(getNext());
     }

     public void remove() {
         // Do nothing
 
分享到:
评论

相关推荐

    在struts2中要实现for循环

    在Struts2中,可以通过多种方式实现For循环的功能,其中最常用的是使用`&lt;s:iterator&gt;`标签来完成循环操作。 #### 使用`&lt;s:iterator&gt;`标签 `&lt;s:iterator&gt;`标签是Struts2中最常用的标签之一,它可以用来遍历集合(如...

    struts2标签使用例子

    在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。 1. **Struts2核心标签库**: - `s...

    struts2标签库 struts2标签库

    Struts2标签库是Java Web开发中的重要组成部分,它极大地简化了视图层的构建,提高了开发效率。Struts2框架提供了丰富的标签集合,这些标签主要用于JSP页面,帮助开发者处理常见任务,如数据展示、表单处理、逻辑...

    Struts循环标签

    Struts循环标签是Apache Struts框架中用于在JSP页面上动态显示数据集合的重要工具。Struts是一个开源的MVC(Model-View-...在实际开发中,还可以结合其他Struts标签以及模板语言的特性,实现更加复杂的页面布局和功能。

    struts2常用标签详解

    本文将深入解析Struts2中的常用标签,这些标签在实际开发中非常实用,对于初学者理解并掌握Struts2的运行机制至关重要。 首先,我们需要了解Struts2标签库的主要组成部分,它们分为Action、Display、Logic、Field和...

    struts2标签大全

    Struts2标签API使得开发者能够更好地集成业务逻辑和视图层,从而实现MVC设计模式中的V(视图)部分。 Struts2标签主要分为四大类: 1. **控制流标签**:这些标签用于控制页面的流程,如`&lt;s:if&gt;`、`&lt;s:else&gt;`、`...

    struts2标签 全选,反选

    在探讨Struts2框架中的全选与反选功能时,我们深入分析了如何利用Struts2的标签系统以及JavaScript来实现这一需求。Struts2框架是Java Web开发中广泛使用的一个MVC(Model-View-Controller)框架,它提供了一系列...

    struts2 标签使用帮助

    Struts2允许开发者自定义标签,通过实现TagSupport接口或者继承已有的标签类,可以扩展框架的功能,满足特定需求。 6. **标签与OGNL表达式** Struts2标签广泛使用OGNL(Object-Graph Navigation Language)表达式...

    struts2标签的使用

    在Struts2中,标签库是其核心组件之一,它提供了丰富的预定义标签,简化了视图层的开发,提高了代码的可读性和可维护性。本篇文章将深入探讨Struts2标签的使用,尽管描述中提到这是一个抄载的例子,但我们可以从中...

    struts2-s标签

    ### Struts2 S 标签库详解 #### 引言 Struts2 是一款流行的 Java Web 开发框架,它提供了一系列强大的功能来帮助开发者构建健壮的 Web 应用程序。其中,Struts2 的标签库是其核心特性之一,为开发者提供了丰富的 ...

    Struts2标签

    Logic标签提供了条件判断和循环操作,如`&lt;s:if&gt;`和`&lt;s:else&gt;`实现条件判断,`&lt;s:iterate&gt;`用于遍历集合,类似Java中的for-each循环。 6. **Message标签** Message标签用于显示国际化消息,如`&lt;s:text&gt;`结合资源...

    struts2标签整理

    Struts2的标签库主要包括表单标签、条件判断标签、循环标签、国际化标签等,这些标签简化了页面的开发工作,提高了开发效率。 #### 三、具体标签解析 ##### 1. `&lt;s:a&gt;` - 超链接标签 该标签用于创建超链接,类似于...

    Struts2标签库详解

    ### Struts2 标签库详解 #### 一、引言 Struts2是一个流行的Java Web框架,它基于MVC架构设计,简化了Web应用程序的开发。Struts2提供了丰富的标签库来帮助开发者构建功能强大的用户界面。这些标签库不仅提高了开发...

    struts 2标签库介绍

    ### Struts 2 标签库介绍 Struts 2 是一个基于 Java 的开源 Web 应用框架,它继承了 Struts 1 的优点,并在灵活性、易用性以及功能扩展方面进行了大量的改进。其中一个重要特性是其丰富的标签库,这些标签能够帮助...

    struts的标签库参考表

    3. **Logic标签**:用于执行条件逻辑和循环操作,类似于if语句和for循环。 #### 四、引入Struts标签库 为了能够在JSP页面中使用Struts标签,首先需要声明相关的标签库: ```jsp &lt;%@taglib uri="http://struts....

    Struts2常用标签

    ### Struts2常用标签详解 #### 一、概述 Struts2框架作为一款成熟的Web应用开发框架,在Java Web开发领域有着广泛的应用。Struts2框架提供了丰富的标签库,这些标签可以极大地方便开发者进行Web页面的开发工作。...

    Struts标签的简单应用

    在文件名为"friend2"的压缩包中,可能包含了使用Struts标签实现的示例代码,如JSP页面、Action类等,通过解压并分析这些文件,你可以更直观地了解Struts标签的实际运用。学习和掌握Struts标签的使用,不仅可以提升...

    struts标签手册

    ### Struts标签手册详解 #### 一、Bean Tags:Bean操作与管理的基石 Bean Tags是Struts框架中用于处理JavaBean对象的核心组件,提供了创建、访问和操作bean的强大功能。这一系列的标签使得开发者能够更高效地在JSP...

    Struts标签 -LOGIC标签

    这个标签用于遍历集合,如数组、List或Map,类似于Java中的`for-each`循环。例如,我们可以用它来展示一个用户列表: ```jsp 用户名:&lt;bean:write name="user" property="username"/&gt;&lt;/p&gt; ``` **2. `logic:...

    struts1标签库详解借鉴.pdf

    Struts1标签库是用于...尽管Struts1现在已经被更新的版本(如Struts2)所取代,但它的设计理念和标签库的使用方法对理解MVC框架仍有很大帮助。在深入学习Struts1标签库的同时,也可以进一步了解Web开发中的最佳实践。

Global site tag (gtag.js) - Google Analytics