`
longgangbai
  • 浏览: 7308402 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

struts2 标签针对字符串截取的处理

阅读更多

struts2  标签截取字符串的功能 <td>
           <!-- 显示第5个字符到第10个字符 -->
           <s:if test="%{null!=desc&&desc.length()>5}">
                      <s:property value="%{desc.substring(5, 11)}" />……
           </s:if>
           <s:else>
                      <s:property value="%{desc}" />
           </s:else>
</td>

 

JSTL

在JSTL中可以读取到Struts的对象中的值
${fn:substring(headLine, 0, 15)}...
其中的headLine就是从Struts中传过来的

 

在项目中,一不小心写了如下

<s:property value="#news.text.replaceAll('<[^>]+>','').substring(0,77)" escape="false" />

竟然可以运行,由处又学习到了一点点东西。

这个标签的作用就是把获得的值去掉所有的html标签,并截取前面77个字符,后面的escape='false'表示对HTML标签不进行编码。

从这个用法可知道,struts2标签上都支持java的String类的所有方法,用法起非常方便。

<s:subset
10                source="{'struts2.0','hibernate','ajax','spring','javaScript'}"
11                count="3" start="1" id="subset">
12            <s:iterator status="st">
13                <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
14                    <td>
15                        <s:property value="#st.count" />
16                        <s:property/>
17                    </td>
18                </tr>
19            </s:iterator>
20            </s:subset>

 

 

<s:generator .../> 时我们能同时体验一下 Struts2 标签是如何操作栈的,当然这里指的是 ValueStack,而非 Java 的方法栈。
    <s:generator val="'1,2,3'" separator=",">  <!--字符串'123'以","分隔生成一个集合,并压栈-->
        <s:iterator>      <!-- 这里没有指定 value 属性,默认弹栈,并取一个元素压栈 -->             
           <s:property/> <!-- 也没有指定 value 属性,默认也是取栈顶元素 -->
        </s:iterator>     <!-- 迭代完成则从集合遍历的最后一个元素出栈 -->
    </s:generator>      <!-- 最后,自动出栈,generator 生成的集合出栈 -->
    汇编是基于寄存器操作的,而 Java 是基于栈的操作,Struts2 引入了存放在 request 中的 ValueStack 正好完美再现了 Java 的这一原始本性,并可使标签使用更简洁,灵活。Struts2 还有很多标签也有这个特性:
    1) 生成的新实例,压栈,标签结束后自动出栈
    2) 在未指定数据来源时,默认从栈顶取数据。
    不禁回想起 Struts1 的 <nested:root> 等 nested 标签要显示的声明操作的根元素,是多么麻烦的一件事。
    补充:如果指定了 <s:generator .../> 的 id 属性的话,同时还会把生成的集合放到 pageContext 中,key 就是 id 指定的值。

 

分享到:
评论
1 楼 dengjianqiang200 2010-09-16  
好东西,收藏

相关推荐

    (TAG标签)jstl和struts2标签截取字符串[文].pdf

    jstl和struts2标签截取字符串 从给定的文件信息中,我们可以看到,jstl和struts2标签都是用于截取字符串的。下面我们将对这两个标签进行详细的介绍和分析。 jstl标签 jstl标签是一种基于Java的标签库,它提供了...

    struts2标签库struts2标签库struts2标签库

    "Struts2标签库详解" Struts2标签库是Struts2框架中的一个重要组件,它提供了一系列的标签,帮助开发者快速构建Web应用程序。在Struts2标签库中,标签可以分为UI标签和非UI标签两大类。UI标签用于生成HTML控件,如...

    struts2标签使用例子

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

    struts2标签库例子

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

    使用Struts 2标签的注意事项

    &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter &lt;filter-name&gt;struts2 &lt;url-pattern&gt;/* ``` 这段代码定义了Struts 2的核心Filter,并将其映射到所有的请求上。 其次...

    Struts2标签集锦(附Struts2标签详解word文档)

    此外,Struts2标签还支持各种事件处理和验证,如`onerror`属性用于指定错误处理方式,`validate`属性控制是否执行验证。对于输入验证,开发者可以通过注解或XML配置文件定义验证规则,然后在表单提交时自动执行。 ...

    Struts2截取字符串代码介绍

    在Struts2中,可以使用 `&lt;s:set&gt;` 标签来存储字符串,然后使用 `&lt;s:if&gt;` 标签来判断字符串的长度,如果长度超过一定的阈值,就截取前面的部分,否则显示全部字符串。 ```java &lt;s:set name="str" value="list"&gt;&lt;/s:...

    Struts2标签使用及API文档

    总的来说,Struts2标签和API文档为开发者提供了一种简洁、高效的方式来处理用户界面和业务逻辑的交互,是开发Java Web应用的重要工具。通过深入学习和熟练掌握,可以显著提升开发效率和代码质量。

    struts2标签库

    Struts2标签库是专为Struts2框架设计的一组JSP标签,旨在简化视图层的开发,提高代码的可读性和维护性。这些标签分为UI标签和非UI标签,分别用于生成HTML元素和处理数据访问及逻辑控制。通过使用标签库,开发者可以...

    Struts2实例 国际化 类型转换 struts标签

    总结起来,这个Struts2实例项目通过整合国际化、类型转换和Struts2标签,构建了一个完整的用户管理系统,展示了如何在实际开发中高效地处理Web请求,实现业务逻辑,并提供多语言支持。这样的练习有助于提升开发者对...

    struts2标签使用方法

    - 在处理表单提交时,利用Struts2的表单标签,框架会自动处理数据验证和类型转换。 6. **注意事项**: - 确保在web.xml中配置了Struts2的核心过滤器`&lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter....

    Struts2 国际化字符串 拦截器

    2. 使用java.text.MessageFormat中的字符串格式,格式为{ 参数序号(从0开始), 格式类形(number | date | time | choice), 格式样式},例如: validation.between=Date must between {0, date, short} and {1, ...

    struts2 自定义标签

    2. 编写标签处理类(Tag Class):这个类负责处理标签的逻辑,它继承自`org.apache.struts2.views.jsp.ui.TagSupport`或其子类,并重写相关方法。 3. 编写标签支持类(Tag Extra Info Class, TEI):非必需,但可以...

    struts2 标签 tags API 参考文档

    `&lt;s:actionmessage&gt;` 和 `&lt;s:actionerror&gt;` 标签用于显示Action级别的消息和错误,这些通常与Struts2的全局消息和错误处理机制配合使用。 10. **Tag Attributes** 每个Struts2标签都有许多可配置的属性,这些属性...

    Struts2自定义分页标签

    本资源详细介绍了如何在Struts2中自定义分页标签,使得开发过程更加便捷。 在Struts2中,分页通常涉及到以下几个关键步骤: 1. **创建Action类**:首先,你需要创建一个Action类,该类将处理用户的请求,包括获取...

    struts2-tags-API,struts2标签api

    Struts2标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列预定义的标签,用于处理视图层的展示逻辑,如表单处理、数据验证、国际化等。这些标签通常比纯HTML和脚本更易于维护,且与Action类解耦,提高了代码...

    Struts 2标签的应用

    利用Struts 2标签创建ex3.jsp页面,此页面提交给tag.action,在structs.xml中配置这个action的转发视图为result.jsp在result.jsp页面中显示ex3.jsp页面控件的值。(源代码和实验报告)

Global site tag (gtag.js) - Google Analytics