目录

数据标签
1. a标签
2. set标签
3. push标签
4. bean/param标签
5. date标签
6. include标签
7. url标签
8. property标签
9. debug标签
10. action标签
11. i18n标签
12. text标签

数据标签

1. a标签

<s:a...>用于构造HTML页面中的超链接。属性:

  • action: 指定超链接action地址
  • href: 超链接地址
  • method: 指定action调用方法
  • id:
  • namespace:

2. set标签

用于设置一个新变量,并将新变量放入指定的作用域中。属性:

  • var: 可选,新变量的引用
  • value: 可选,值
  • scope: 可选,作用域,包括page、request、session、application、action,如果没有指定,默认为action范围
    <s:set name="myName" scope="page" value="'张三是谁?'"></s:set>
<s:property value="#attr.myName" />
<BR />
<s:set name="myAge" value="'十八'"></s:set>
<s:property value="myAge" />

输出:

张三是谁?    
十八

3. push标签

将某个值置于值栈的顶部,标签结束后,将从值栈中移除。

    <s:push value="'中华人民共和国'" >
<s:property/>
</s:push>

输出:

中华人民共和国

4. bean/param标签

用于创建javabean的实例,如果设置了var值,则存于Stack Context;否则,标签结束后自动移除。

bean标签属性:

  • name: 必须,javabean类名(带包)
  • var: 可选,将JavaBean实例放入Stack Context中,设置其访问名称

param标签属性:

  • name: 可选
  • value: 可选
    <s:bean name="com.clzhang.ssh.demo8.StudentInfo" var="info1">
<s:param name="age">17</s:param>
<s:param name="gender">男</s:param>
<s:param name="idcard" value="'1102938279'"></s:param>
<s:param name="name" value="name"></s:param>
</s:bean>
<s:property value="#info1.name"/>|<s:property value="#info1.age"/>|<s:property value="#info1.gender"/>|<s:property value="#info1.idcard"/>

输出:

旧名称!|17|男|1102938279

5. date标签

格式化日期并输出。属性:

  • name: 必须,指定日期值
  • var: 可选,指定日期放入ValueStack中
  • format: 可选,指定输出格式
    <s:bean name="java.util.Date" var="dateRef"></s:bean>
<s:date format="yyyy-MM-dd hh-mm-ss" name="#dateRef" />

输出:

2013-12-12 02-07-13

6. include标签

用于将一个html,jsp或servlet包含到当前页面中,使用param传递参数

    <s:include value="foot.jsp">
<s:param name="name" value="'脚本之家...'"></s:param>
</s:include>

foot.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
name参数的值是: ${param.name }

输出:

name参数的值是: 脚本之家...

7. url标签

生成URL地址,可以通过param标签传递请求参数。如果参数为中文,自动编码。属性:

  • action: 与value属性二选一,指定生成的URL地址的action,如果不提供该属性,则使用value值为URL的地址值
  • method: 可选,指定action调用方法
  • namespace: 可选,
  • value: 与action属性二选一,指定生成URL地址
  • var: 可选,指定该链接变量,并将其放入ValueStack中
    <s:url value="control.jsp" var="url">
<s:param name="id">中华人民共和国</s:param>
</s:url>
<a href="<s:property value="#url" />">链接</a>
<s:url action="test" var="url2"></s:url>
<s:property value="#url2"/>

输出:

链接    /st/test.action

8. property标签

用于输出值栈,Stack Context中的数据。仅提示,注意escape属性的使用,默认为true。属性:

  • value:
  • default:
  • escape:

-如果输出值栈(Value Stack)中的值,不用#
-如果输出Stack Context中的值,要用#
-如果省略value,表示取出值栈的栈顶对象输出

    <s:property value="html" escape="true" />
<s:property value="html" escape="false" />

输出:

9. debug标签

<s:debug></s:debug>

10. action标签

在JSP页面中访问Action类中的数据,执行某些操作,并返回相应数据。

  • executeResult: 是否将Action返回的结果视图显示在当前页面中
  • flush: 是否进行刷新
  • ignoreContextParams: 是否忽略URL参数
  • name: 指定调用哪个Action
  • namespace: 指定调用Action的命名空间
  • var: 将调用的Action的名称放到值栈中

其中,只有name参数是必须的,其它的都是可选的。

    <s:action name="labelD!listString" executeResult="true">
<s:param name="name" value="name"></s:param>
<s:param name="age" value="16"></s:param>
</s:action>

输出:

name的值是:赵五 age的值是:16

提示:

  • 无论何种方式提交查询action,参数都会传递到后台,只不过可以控制前台的显示与否。
  • 好像struts2的acton标签中的ignoreContextParams属性和param子元素有冲突。

11. i18n标签

<s:i18n.../>标签主要用来进行资源绑定,然后将其放入ValueStack。<s:i18n.../>只有一个name属性,用来指定资源文件。

12. text标签

<s:text.../>标签主要用来输出国际化资源文件信息。当JSP页面中用<s:i18n.../>指定国际化资源文件后,就可以用<s:text.../>标签来输出key值对应的value什。属性:

  • name: 必须,要获取的资源属性
  • searchValueStack: 可选,假如无法获取资源属性,是否到ValueStack中搜索其属性
  • var: 可选,命名得到的资源属性,然后放入ValueStack中

注意:不能在一个标签中使用<s:text.../>标签。如下方式是错误的:

<s:textfield name="lastName" label="<s:text name='person.lastName'/>"/>

正确的做法:使用 getText()方法来代替<s:text.../>标签以达到上面代码想要达到的目的

<s:textfield name="lastName" label="getText('person.lastName')"/>

更多阅读:

struts2:标签库图示,控制标签

struts2:表单标签

struts2:表单标签续(datetimepicker标签)

struts2:非表单标签

struts2:数据标签的更多相关文章

  1. Struts2 数据标签

    Struts 2 的数据标签主要用于操作页面上显示的数据.下面列出的是重要的数据标签: action标签: 此标记使开发人员能够直接从JSP页面调用动作指定动作的名称和一个可选的命名空间.标签的主体内 ...

  2. Struts2之数据标签(二)

    Struts2之数据标签(一):http://blog.csdn.net/u012561176/article/details/46848817 1.action标签:使用此标签能够同意在JSP页面中 ...

  3. struts2学习(8)struts标签1(数据标签、控制标签)

    一.struts2标签简介: struts标签很多,功能强大,这是优点: 但是缺点的话,性能方面可能会,各方面速度啊啥的会降低:有人比较测试,struts性能比jstl低很多:   二.struts2 ...

  4. Struts2的标签三大类是什么?

    Struts2 标签 一 Struts标签的简介: Struts2 自己封装了一套标签,比 JSTL 强大,而且与 Struts2 中的其他功能无缝结合. 当然 Strust2 标签的内容很多,随着版 ...

  5. Struts2的标签库(四)——数据标签

    Struts2的标签库(四) --数据标签 1.action标签 该标签用于在jsp页面直接调用一个Action,通过指定executeResult参数,还可以将Action的处理结果包含到此页面中来 ...

  6. struts2标签库----数据标签详解

    上篇文章我们介绍struts2标签库中的控制标签的基本使用和部分原理,本篇文章接着了解下标签库中有关数据标签的使用和原理.主要涉及以下数据标签: action标签:用于在视图页面跳转到一个Action ...

  7. struts2常用标签之数据标签

    数据标签1  property标签  property标签的主要属性:  value:用来获取值的OGNL表达式,如果value属性值没有指定,那么将会被设定为top,也就是返回位于值栈最顶端的对象. ...

  8. Struts2数据校验

    Struts2数据校验 1.常见数据校验方法 表单数据的校验方式: 表单中的数据必须被效验以后才能够被使用,常用的效验方式分为两种: 前台校验:也称之为客户端效验,主要是通过JS编程的方式进行表单数据 ...

  9. 【Java EE 学习 36】【struts2】【struts2系统验证】【struts2 ognl值栈】【struts2 ongl标签】【struts2 UI标签】【struts2模型驱动和令牌机制】

    一.struts2系统验证 1.基于struts2系统验证的方式实际上就是通过配置xml文件的方式达到验证的目的. 2.实际上系统校验的方法和手工校验的方法在底层的基本实现是相同的.但是使用系统校验的 ...

随机推荐

  1. Linux学习之文件特殊权限详解(SetUID、SetGID、Sticky BIT)(十一)

    Linux学习之文件特殊权限详解(SetUID.SetGID.Sticky BIT) 目录 SetUID SetGID Sticky BIT SetUID SetUID简介 只有可以执行的二进制程序和 ...

  2. 仿win10环境变量助手

    相信很多人用过win10后再换回win7或者xp等系统都会有些不习惯,所以在这里安利一款博主自己开发的小软件:环境变量助手. 继承于Win10风格的环境变量,操作简单方便,使用时需要账户权限. 注意: ...

  3. 基于Socket的低层次Java网络编程

    Socket通讯 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个十分流 ...

  4. JS的prototype和__proto__(含es6的class)

    JS的prototype和__proto__(含es6的class) 一.prototype和__proto__的概念 prototype是函数的一个属性(每个函数都有一个prototype属性),这 ...

  5. python在使用MySQLdb模块时报Can't extract file(s) to egg cacheThe following error occurred while trying to extract file(s) to the Python eggcache的错误。

    这个是因为python使用MySQLdb模块与mysql数据库交互时需要一个地方作为cache放置暂存的数据,但是调用python解释器的用户(常常是服务器如apache的www用户)对于cache所 ...

  6. BZOJ.4892.[TJOI2017]DNA(后缀自动机/后缀数组)

    题目链接 \(Description\) 给出两个串\(S,T\),求\(T\)在\(S\)中出现了多少次.出现是指.可以有\(3\)次(\(3\)个字符)不匹配(修改使其匹配). \(Solutio ...

  7. 【NOIP2018】【RP++!】【神大退役记+一丢丢回忆录】

    emmm初赛都完了啊,还有20多天的样子退役选手又要++++++了 所以在这里先预祝各路dalao取得好成绩!! 手动艾特亲友$@Abyssful@阿澈说他也想好好学习@Ed\_Sheeran@歪瓜是 ...

  8. 20172302 《Java软件结构与数据结构》第八周学习总结

    2018年学习总结博客总目录:第一周 第二周 第三周 第四周 第五周 第六周 第七周 第八周 教材学习内容总结 第十二章 优先队列与堆 1.堆(heap)是具有两个附加属性的一棵二叉树: (1)它是一 ...

  9. MIRUO面试题

    1.c#可以继承string类吗?2.接口可以实现接口吗?抽象类可以实现接口吗?抽象类可以实现实体类吗?3.用C#计算2.5的3次方的方法.4.什么是协同程序?5.GC是什么,如何减少内存,如何加快性 ...

  10. 数据分析系统DIY1/3:CentOS7+MariaDB安装纪实

    打算通过实践.系统学习一下数据分析. 初步计划要完毕的三个任务. 一.用VMware装64位CentOS,数据库服务端用CentOS自带的就好. 二.数据採集与预处理用Dev-C++编程解决. 三.用 ...