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

struts2 generator标签(控制标签)

阅读更多

 generator标签
        使用generator标签可以将指定字符串按指定分隔符分成多个子串,临时生成的多个子串可以使用iterator标签来迭代输出。可以这样理解:generator将一个字符串转化成一个集合。在该标签的标签体内,整个临时生成的集合将位于ValueStack的顶端,蛋一旦该标签结束,该集合将被移出ValueStack
        generator标签的属性:

 

 

  1.    count :可选属性,该属性指定生成集合中元素的总数。
  2.   separator :必填属性,指定用于解析字符串的分隔符。
  3.    val:必填属性,指定被解析的字符串。
  4.  converter:可选属性,指定一个转换器,该转换器负责将集合汇总的每个字符串转换成对象
  5.    id:可选属性,如果指定了该属性,则将生成的集合放在pageContext属性中

 <!-- 使用s:generator标签将一个字符串解析成集合-->
<s:generator val = " 'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典' "
      separator = ",">
<!-- 在generator标签内,该集合位于valuestack的栈顶,故此处迭代就是临时生成的集合-->
<s: iterator status = "st ">
     <!-- 根据当前迭代项索引的奇偶来决定是否使用CSS样式-->
     < tr <s:if   test="#st.odd" > style ="background-color:#bbbbbb"</s:if> >
              <td><s:property/></td>
      </tr>
</s:iterator>
</s:generator>
下面代码使用generator标签,使用了count和id属性,如果指定了count属性,意味着集合中最多只能包含count个元素(就是前count个元素),指定了id属性,就可以将临时生成的集合放置到pageContext属性中。代码如下:
<s:generator val = " 'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典' "
      separator = ","    id="bookes"  count="2"/>
<%
         java.util.Iterator  i  =  (java.util.Iterator)pageContext.getAttribute("bookes") ;
         while( i.hasNext() ) {
         String s = (String) i.next(); %>
         <tr><td><%=s%></td></tr>
          <%}
%>

 

 

 

一下是1楼提出错误的代码:执行后的结果:



 

 

  • 大小: 23.2 KB
分享到:
评论
4 楼 xuebuo01 2012-11-15  
谢谢1 楼 rightkaren  救了我一命啊 我弄了好久 要request.getAttribute("books") 但很多材料都是说pageContext.getAttribute("books") ;  
郁闷死我了
3 楼 younglibin 2009-10-19  
谢谢一楼指错!欢迎大家来指正!
2 楼 younglibin 2009-10-19  
不好意思!我粗心了!你可以看一下 id 两个id都不相同,怎么可能得到值!还有你说的,改为request的!我感觉应该不行吧!id不同改为什么也得不到之!你看一下!你页面是不是以前有这个id:
这是我的代码:
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'testJsp.jsp' starting page</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

  </head>
 
  <body>
   
    iterator 验证generator标签的使用:按指定的分隔符将指定的字符串分割成子串
   
    <table>
     <s:generator separator="," val="'java,core,ejb,struts2,spring'">
     <s:iterator status="st4">
     <tr <s:if test="#st4.odd">style=background-color:red</s:if>>
     <td><s:property/></td>
     </tr>
     </s:iterator>
     </s:generator>
    </table>
    <hr>
   
    iterator 验证generator标签的使用:使用count属性 F1
   
   <s:generator separator="," val="'java,core,ejb,struts2,spring'" id="books" count="3"/>
   <table>
<%
java.util.Iterator i= (java.util.Iterator)pageContext.getAttribute("books");
while(i.hasNext()){
String s=(String)i.next();

%>
<tr>
<td><%=s%></td>
</tr>
<%
}
%>  


<s:generator separator="," val="'java,core,ejb,struts2,spring'" id="books" count="6">
<s:iterator>
<tr>
<td><s:property/></td>
</tr>
</s:iterator>
</s:generator>
</table>
    <hr>
   
    <s:generator val = " 'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典' "
      separator = ","    id="bookes"  count="2"/>
<%
         java.util.Iterator  ii  =  (java.util.Iterator)pageContext.getAttribute("bookes") ;
         while( ii.hasNext() ) {
         String s = (String) ii.next(); %>
         <tr><td><%=s%></td></tr>
          <%}
%>
     
  </body>
</html>


这是我的运行结果:见原文:






1 楼 rightkaren 2009-10-17  
你好,请问最后一个例子你运行过吗?

<s:generator val = " 'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典' " 
      separator = ","    id="bookes"  count="2"/>
<%
         java.util.Iterator  i  =  (java.util.Iterator)pageContext.getAttribute("books") ;
         while( i.hasNext() ) {
         String s = (String) i.next(); %>
         <tr><td><%=s%></td></tr>
          <%}
%>


我运行是不通过,因为没从pageContext中取到books,但是如果改成request.getAttribute("books")就可以取到。

相关推荐

    struts2标签库例子

    Struts2 标签库详解 Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来...

    Struts2全部标签使用说明

    Struts2是一个流行的MVC框架,它的标签库极大地方便了开发者在JSP页面上的工作。下面将详细介绍Struts2中的部分核心标签及其用法。 A. `&lt;s:a&gt;` 和 `&lt;s:action&gt;`: - `&lt;s:a href=""&gt;` 标签用于创建超链接,它可以绑定...

    Struts2标签列表及说明

    Struts2 标签列表及说明 Struts2 是一个基于 Java 语言的 Web 应用程序 Framework,它提供了许多标签来帮助开发者快速构建 Web 应用程序。下面是 Struts2 的标签列表及说明: A: * &lt;s:a&gt;:超链接,类似于 HTML ...

    Struts2标签库

    - **Generator标签** 可以根据给定的值生成一个迭代器,适用于处理字符串分割、数组或集合的生成,支持count和id属性来限制生成的条目数量或标识生成的迭代器。 #### 实例演示 让我们通过具体的代码示例来理解...

    软件开发框架Struts2标签库.pdf

    软件开发框架Struts 2 标签库概述 Struts 2 标签库是Java Web 应用程序开发中...本资源摘要信息涵盖了Struts 2 标签库的概述、控制标签、数据标签和表单标签等知识点,旨在帮助开发者快速掌握Struts 2 标签库的使用。

    Struts2 标签库

    generator标签是一个用于生成iterator的JSP标签,它可以从字符串、集合或数组中生成一个iterator。generator标签通过val属性指定要迭代的数据源,生成的iterator可以在标签中使用。 在Struts2中,使用标签库可以...

    taglib(struts2标签).doc

    Struts2 是一款流行的 Java Web 开发框架,它极大地简化了视图与控制器的交互。在 Struts2 中,Taglib(标签库)是用于增强 JSP 页面功能的关键组件,它们提供了一种声明式编程的方式,使得开发者可以更加专注于业务...

    Struts2标签详解及具体实例解析

    ### Struts2标签详解及具体实例解析 #### 一、概述 Struts2是一个基于MVC模式的开源框架,它提供了丰富的标签库来简化Web应用的开发过程。这些标签不仅功能强大,而且易于使用,可以帮助开发者快速构建动态网页。...

    Struts2 标签库讲解

    Struts2标签库是Java开发Web应用时,用于构建动态JSP页面的重要工具,它极大地简化了视图层的开发工作。Struts2提供了一系列丰富的标签,这些标签可以帮助开发者更高效地处理各种业务逻辑和数据显示。 首先,Struts...

    struts2 标签详解+ ui标签实例

    Struts2是一个强大的MVC框架,它提供了丰富的标签库来简化JSP页面的编写,使得开发者可以更加专注于业务逻辑而不是页面展示的细节。本篇主要介绍Struts2中的标签库,特别是通用标签和UI标签。 首先,Struts2的标签...

    struts2-s标签

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

    Struts_2_标签库(文档手册)_Tags-API-CLSW-JSP

    标题和描述中提到的知识点是关于Struts 2框架中的标签库使用,特别是与JSP相关的部分。Struts 2框架是一种基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,用于构建动态、可扩展的Web应用。其标签...

    struts2 标签库 帮助文档

    Struts 2 标签库(文档手册) Tags-API-CLSW-JSP &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-...

    Struts2标签库详解

    这些标签包括但不限于if标签、else标签、elseif标签、append标签以及generator标签等。 ##### 3.1 if标签 **描述**:`if`标签用于实现基本的条件判断逻辑,常与`else`或`elseif`标签配合使用。该标签通过一个布尔...

    struts2标签库详解

    4. **Generator标签**:Generator标签用于生成一个迭代器,可以指定一个字符串或数组作为迭代的源。例如,可以生成一个包含多个元素的迭代器并遍历它们: ```jsp &lt;!-- 生成包含'aaa', 'bbb', 'ccc', 'ddd', 'eee'...

    struts2标签库

    Struts2标签库是Struts2框架中一个重要的组成部分,它提供了一套强大的标签来简化JSP、FreeMarker和Velocity等表示层技术的开发。标签库抽象了多种表示技术,使得开发者可以在不同的模板语言中使用相同的逻辑,提高...

Global site tag (gtag.js) - Google Analytics