关键字: 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
指定的值。
分享到:
相关推荐
jstl和struts2标签截取字符串 从给定的文件信息中,我们可以看到,jstl和struts2标签都是用于截取字符串的。下面我们将对这两个标签进行详细的介绍和分析。 jstl标签 jstl标签是一种基于Java的标签库,它提供了...
在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。 1. **Struts2核心标签库**: - `s...
Struts2 标签库详解 Struts2 提供了一个强大的标签库,用于简化 Web 应用程序的开发过程。这些标签可以分为两类:通用标签和 UI 标签。下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来...
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter <filter-name>struts2 <url-pattern>/* ``` 这段代码定义了Struts 2的核心Filter,并将其映射到所有的请求上。 其次...
"Struts2标签库详解" Struts2标签库是Struts2框架中的一个重要组件,它提供了一系列的标签,帮助开发者快速构建Web应用程序。在Struts2标签库中,标签可以分为UI标签和非UI标签两大类。UI标签用于生成HTML控件,如...
此外,Struts2标签还支持各种事件处理和验证,如`onerror`属性用于指定错误处理方式,`validate`属性控制是否执行验证。对于输入验证,开发者可以通过注解或XML配置文件定义验证规则,然后在表单提交时自动执行。 ...
在Struts2中,可以使用 `<s:set>` 标签来存储字符串,然后使用 `<s:if>` 标签来判断字符串的长度,如果长度超过一定的阈值,就截取前面的部分,否则显示全部字符串。 ```java <s:set name="str" value="list"></s:...
总的来说,Struts2标签和API文档为开发者提供了一种简洁、高效的方式来处理用户界面和业务逻辑的交互,是开发Java Web应用的重要工具。通过深入学习和熟练掌握,可以显著提升开发效率和代码质量。
总结起来,这个Struts2实例项目通过整合国际化、类型转换和Struts2标签,构建了一个完整的用户管理系统,展示了如何在实际开发中高效地处理Web请求,实现业务逻辑,并提供多语言支持。这样的练习有助于提升开发者对...
- 在处理表单提交时,利用Struts2的表单标签,框架会自动处理数据验证和类型转换。 6. **注意事项**: - 确保在web.xml中配置了Struts2的核心过滤器`<filter-class>org.apache.struts2.dispatcher.ng.filter....
2. 使用java.text.MessageFormat中的字符串格式,格式为{ 参数序号(从0开始), 格式类形(number | date | time | choice), 格式样式},例如: validation.between=Date must between {0, date, short} and {1, ...
2. 编写标签处理类(Tag Class):这个类负责处理标签的逻辑,它继承自`org.apache.struts2.views.jsp.ui.TagSupport`或其子类,并重写相关方法。 3. 编写标签支持类(Tag Extra Info Class, TEI):非必需,但可以...
`<s:actionmessage>` 和 `<s:actionerror>` 标签用于显示Action级别的消息和错误,这些通常与Struts2的全局消息和错误处理机制配合使用。 10. **Tag Attributes** 每个Struts2标签都有许多可配置的属性,这些属性...
本资源详细介绍了如何在Struts2中自定义分页标签,使得开发过程更加便捷。 在Struts2中,分页通常涉及到以下几个关键步骤: 1. **创建Action类**:首先,你需要创建一个Action类,该类将处理用户的请求,包括获取...
Struts2标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列预定义的标签,用于处理视图层的展示逻辑,如表单处理、数据验证、国际化等。这些标签通常比纯HTML和脚本更易于维护,且与Action类解耦,提高了代码...
利用Struts 2标签创建ex3.jsp页面,此页面提交给tag.action,在structs.xml中配置这个action的转发视图为result.jsp在result.jsp页面中显示ex3.jsp页面控件的值。(源代码和实验报告)