目录

数据标签
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. BZOJ1853 [Scoi2010]幸运数字 容斥原理

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1853 题意概括 求一个区间范围内,近似幸运数字的个数. 定义: 幸运数字:仅由6或者8组成的数字. ...

  2. 使用yum时报错 This system is not registered to Red Hat Subscription Management

    错误原因:使用redhat的yum源是需要注册付费的. 1.卸载RedHat自带的yum包 查看已安装的yum rpm -qa|grep yum #卸载已安装的yum rpm -qa | grep y ...

  3. Python库资源大全

    转载地址:https://zhuanlan.zhihu.com/p/27350980 本文是一个精心设计的Python框架.库.软件和资源列表,是一个Awesome XXX系列的资源整理,由BigQu ...

  4. Docker 配置固定IP及桥接的实现方法(转载)

    这篇文章主要介绍了Docker 配置固定IP和桥接的实现方法的相关资料,这里详细介绍了Docker 的四种网络模式及如何实现桥接的案例,需要的朋友可以参考下 docker默认使用bridge模式,通过 ...

  5. IdentityServer4-快速入门

    一.设置和概述 二.使用客户端凭证保护API 三.使用密码保护API 四.使用OpenID Connect添加用户验证 五.添加对外部认证的支持 六.切换到Hybrid Flow并添加API访问权限 ...

  6. Gym - 100548G The Problem to Slow Down You

    依然是回文树. 我们只需要吧siz[]改成统计两边的siz[][0/1],然后把两个字符中间随便加一个不会出现的字符拼起来,做一遍回文树统计一下就OJBK了 #include<bits/stdc ...

  7. 洛谷.2292.[HNOI2004]L语言(Trie DP)

    题目链接 /* 简单的DP,查找是否有字典中的单词时在Trie树上做 要注意在最初Match(0)一遍后,i还是要从0开始匹配,因为如果有长度为1的单词,Match(i+1)不会从1更新 1M=102 ...

  8. 5410 ACM 杭电 01+完全背包

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5410 虽然是英文题目:但还是很好理解的.明显的背包问题 思路:如果你能想到把题目拆分成小问题,就会简单许多 ...

  9. [POI2018]Pionek

    [POI2018]Pionek 题目大意: 在无限大的二维平面的原点放置着一个棋子.你有\(n(n\le2\times10^5)\)条可用的移动指令,每条指令可以用一个二维整数向量表示.请你选取若干条 ...

  10. [USACO08DEC]Secret Message

    OJ题号: 洛谷2922 思路: 字典树,每个结点记录经过该节点的字符串数cnt和以该结点结尾的字符串数量val. 每次询问时累加经过节点的val值和结尾结点的cnt值. #include<cs ...