控件标签

Struts 2 的标签有一组标签。更easy控制流程页面运行。下面是重要的Struts2控制标签列表:

if /else 标签:

这些标签运行可在每一种语言找到的一种基本条件流程。 'If'标签可用于本身或与“Else If''标签和/或单/多'Else'标签。例如以下图所看到的:

<s:if test="%{false}">
<div>Will Not Be Executed</div>
</s:if>
<s:elseif test="%{true}">
<div>Will Be Executed</div>
</s:elseif>
<s:else>
<div>Will Not Be Executed</div>
</s:else>

if else 实例

iterator标签:

这些迭代器将遍历一个值。一个可迭代的值能够是不论什么的java.util.Collection 和 java.util.Iterator。尽管超过一个迭代器遍历排序,能够使用标签对结果进行排序或子集标签的列表或者数组得到一个子集。

以下的演示样例检索当前对象的值栈getDays()方法的值,并用它来遍历。<s:property/>标签打印出迭代器的当前值。

<s:iterator value="days">
<p>day is: <s:property/></p>
</s:iterator>

iterator 实例

merge标签:

这些合并标记须要两个或两个以上的列表作为參数。并把它们合并在一起。例如以下所看到的:

<s:merge var="myMergedIterator">
<s:param value="%{myList1}" />
<s:param value="%{myList2}" />
<s:param value="%{myList3}" />
</s:merge>
<s:iterator value="%{#myMergedIterator}">
<s:property />
</s:iterator>

merge标签实例

append 标签:

这些append标签须要两个或两个以上的列表作为參数,并追加它们放在一起,例如以下图所看到的:

<s:append var="myAppendIterator">
<s:param value="%{myList1}" />
<s:param value="%{myList2}" />
<s:param value="%{myList3}" />
</s:append>
<s:iterator value="%{#myAppendIterator}">
<s:property />
</s:iterator>

append标签实例

generator 标签:

generator标签生成一个迭代器的基础上提供val属性。

下面generator标签生成一个迭代器。并使用迭代器标签打印出来。

<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}">
<s:iterator>
<s:property /><br/>
</s:iterator>
</s:generator>

数据标签

Struts 2 的数据标签主要用于操作页面上显示的数据。以下列出的是重要的数据标签:

action标签:

此标记使开发者可以直接从JSP页面调用动作指定动作的名称和一个可选的命名空间。标签的主体内容是用行动来呈现结果。

不论什么结果处理器定义在struts.xml这个动作将被忽略。指定除非executeResult參数。

<div>Tag to execute the action</div>
<br />
<s:action name="actionTagAction" executeResult="true" />
<br />
<div>To invokes special method in action class</div>
<br />
<s:action name="actionTagAction!specialMethod" executeResult="true" />

action标签实例

include 标签:

将用于还有一个JSP页面中包括还有一个JSP文件。

<-- First Syntax -->
<s:include value="myJsp.jsp" /> <-- Second Syntax -->
<s:include value="myJsp.jsp">
<s:param name="param1" value="value2" />
<s:param name="param2" value="value2" />
</s:include> <-- Third Syntax -->
<s:include value="myJsp.jsp">
<s:param name="param1">value1</s:param>
<s:param name="param2">value2</s:param>
</s:include>

include 标签实例

bean 标签:

bean标签实例化一个类,符合JavaBeans规范。此标记的主体能够包括多个元素:參数设置该类别的不论什么mutator方法。

假设var属性设置在BeanTag上,它会放置到堆栈上下文的bean实例。

<s:bean name="org.apache.struts2.util.Counter" var="counter">
<s:param name="first" value="20"/>
<s:param name="last" value="25" />
</s:bean>

bean标签实例

date标签:

date标签,将让在一个高速和easy的方式格式化日期。能够指定自己定义格式(如“DD/ MM / YYYY HH:MM”),能够生成易读的符号(如“2小时,14分钟”)。或者能够依傍提前定义的格式关键 struts.date.format 属性文件。

<s:date name="person.birthday" format="dd/MM/yyyy" />
<s:date name="person.birthday" format="%{getText('some.i18n.key')}" />
<s:date name="person.birthday" nice="true" />
<s:date name="person.birthday" />

date标签实例

param 标签:

这些參数标签可用于參数其它标签。

该标签具有下面两个參数。

  • name (String) - 參数的名称

  • value (Object) - 參数的值

<pre>
<ui:component>
<ui:param name="key" value="[0]"/>
<ui:param name="value" value="[1]"/>
<ui:param name="context" value="[2]"/>
</ui:component>
</pre>

param标签实例

property 标签:

这些属性标签是用来获取属性的值,这将默认堆栈的顶部,假设没有指定。

<s:push value="myBean">
<!-- Example 1: -->
<s:property value="myBeanProperty" /> <!-- Example 2: -->TextUtils
<s:property value="myBeanProperty" default="a default value" />
</s:push>

property标签实例

push 标签:

这些push标签是用来推堆栈简化使用。

<s:push value="user">
<s:propery value="firstName" />
<s:propery value="lastName" />
</s:push>

push标签实例

set 标签:

这些set标签分配一个值给一个变量在指定的范围内。

它是实用的,当想分配一个变量到复杂的表达式。然后简单地引用变量每次而不是复杂的表达。可用的范围是application, session, request, page和行动。

<s:set name="myenv" value="environment.name"/>
<s:property value="myenv"/>

set 标签实例

text 标签:

这些 text 标签是用来呈现一个i18n 文本消息。

<!-- First Example -->
<s:i18n name="struts.action.test.i18n.Shop">
<s:text name="main.title"/>
</s:i18n> <!-- Second Example -->
<s:text name="main.title" /> <!-- Third Examlpe -->
<s:text name="i18n.label.greetings">
<s:param >Mr Smith</s:param>
</s:text>

text 标签实例

url 标签:

这些URL标签是用来创建一个URL。

<-- Example 1 -->
<s:url value="editGadget.action">
<s:param name="id" value="%{selected}" />
</s:url> <-- Example 2 -->
<s:url action="editGadget">
<s:param name="id" value="%{selected}" />
</s:url> <-- Example 3-->
<s:url includeParams="get">
<s:param name="id" value="%{'22'}" />
</s:url>

Ajax 标签

Struts使用Dojo框架的 AJAX标记实现。

首先,这个样例中。你须要加入 struts2-dojo-plugin-2.2.3.jar。你能够得到这个文件的lib目录struts2的下载 (C:\struts-2.2.3-all\struts-2.2.3\lib\struts2-dojo-plugin-2.2.3.jar)

对于这个锻炼。让我们改动 helloWorld.jsp例如以下:

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>
<html>
<head>
<title>Hello World</title>
<s:head />
<sx:head />
</head>
<body>
<s:form>
<sx:autocompleter label="Favourite Colour"
list="{'red','green','blue'}" />
<br />
<sx:datetimepicker name="deliverydate" label="Delivery Date"
displayFormat="dd/MM/yyyy" />
<br />
<s:url id="url" value="/hello.action" />
<sx:div href="%{#url}" delay="2000">
Initial Content
</sx:div>
<br/>
<sx:tabbedpanel id="tabContainer">
<sx:div label="Tab 1">Tab 1</sx:div>
<sx:div label="Tab 2">Tab 2</sx:div>
</sx:tabbedpanel>
</s:form>
</body>
</html>

当我们执行上面的样例中,我们能够得到以下的输出:

如今让我们通过这个样例一步来。

首先要注意的是另外一个新的标签库前缀 sx.  (struts-dojo-tags)是专门创建的标记库的AJAX集成。

然后在HTML头。我们称之为sx:head。

这将初始化Dojo框架,使得它准备为全部的AJAX调用内页。这一步非常重要 - ,没有sx:head初始化Ajax调用不会起作用。

首先,我们有自己主动完毕标签。自己主动完毕标签看起来非常像一个选择框。它填充了红色,绿色和蓝色的值。

但之间的一个选择框而这一次不同​​的是。它自己主动完毕。也就是说,假设開始键入gr,这将填补它为“green”。除此之外。这个标签是非常相似s:select标签,我们前面介绍。

接下来,我们有一个日期时间选择器。

这个标签创建一个输入栏旁边的一个button。当按下button时,弹出一个显示日期和时间选择器。当用户选择的日期,该日期将填充到输入文本标记属性中所指定的格式。在我们的样例中。我们指定dd/MM/yyyy 日期格式。

接下来我们创建一个URL标记的system.action在前面的练习中。我们创建的文件。它并不一定要的system.action - 它能够是不论什么行动您之前创建的文件。然后我们有一个div设置超链接的url和延迟设置为2秒钟。

会发生什么事而言,"Initial Content"将显示2秒钟。然后div的内容将被替换的内容从hello.action运行。

最后,我们有一个简单的选项卡面板有两个选项卡。

标签的div标签“选项卡1和Tab2。

慢慢地随着每个版本号,它应该是值得注意的AJAX标签集成Struts,仍然是一个工作的进步和成熟整合。

Struts(18)标签的更多相关文章

  1. struts的标签库出现Failed to load or instantiate TagExtraInfo class

    使用struts的标签库出现Failed to load or instantiate TagExtraInfo class 最近在使用struts标签库的时候,在eclipse开发环境中是正常的,放 ...

  2. Struts 2 标签库及使用

    1  Struts 2 基本的标签属性. 1) name:指定表单元素的名称,该属性与Action中定义的属性相对应. 2) value:指定表单元素的值. 3) required:指定表单元素的必填 ...

  3. Struts1基础、使用Struts实现登录、使用Struts HTML标签简化开发

    Struts 1基础 为什么重拾Struts 1 曾经是最主流的MVC框架 市场份额依然很大 很多遗留系统中依旧使用 维护和升级都需要熟悉Struts 1 与Struts 2相比 编码.配置繁琐 侵入 ...

  4. struts的标签

    <%@ taglib uri="/struts-tags" prefix="s"%> <%@ taglib uri="/WEB-IN ...

  5. 5.Struts.xml标签中的一些小技巧

    1.为Action属性注入值如给actions包下的test.java类中变量username赋值为"xingyun"在struts.xml中添加下面这段代码: <strut ...

  6. 菜鸟学习Struts——bean标签库

    一.Struts标签库. Struts实际上包含了4个标签库:bean,logic,html,tiles bean:用来在属性范围中定义或取得属性的,同时可以读取资源文件信息 logic:替代JSTL ...

  7. Struts2笔记——struts常用标签

    使用struts标签前,首先要配置struts2架构,然后导入标签库,jsp插入如下语句: <%@taglib uri="/struts-tags" prefix=" ...

  8. Struts 2 标签

    注:要使用Strust 2标签需<%@ taglib prefix="s" uri="/struts-tags" %> 表单标签: .form标签 ...

  9. Struts 2 标签库

    <s:if>标签 拥有一个test属性,其表达式的值用来决定标签里内容是否显示 <s:if test="#request.username=='clf'"> ...

  10. Struts UI标签的使用

    先来看一下日期控件 html5标签中其实已经有日期的类型,用<input type="date">便可调用. struts里面也自带了日期控件,其使用步骤为: 1. 导 ...

随机推荐

  1. 85.Mongoose指南 - Schema

    转自:https://www.bbsmax.com/A/pRdBnKpPdn/ 定义schema 用mongoose的第一件事情就应该是定义schema. schema是什么呢? 它类似于关系数据库的 ...

  2. Mvc 返回文件直接下载

    今天碰到一个问题,前端点击下载文件,后端判断文件是否存在,不存在则自动生成文件(图片),返回前端会自动下载文件 网上查了一些  Mvc  action中返回File类型 设置一些contentType ...

  3. FragmentPagerAdapter和FragmentStatePagerAdapter的区别

    FragmentPagerAdapter 1:简单的介绍: 该类内的每一个生成的 Fragment 都将保存在内存之中,因此适用于那些相对静态的页,数量也比较少的那种:如果需要处理有很多页,并且数据动 ...

  4. View简介

    1.View 是所有widget类的基类 2.View的坐标 根据上面的图应该会比较容易明白,图中屏幕上放了一个ViewGroup布局,里面有个View控件 getTop:获取到的,是view自身的顶 ...

  5. mysql语句判断一天操作记录的个数

    话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添加的文章总数并且按照时间从大到小排序,则查询语句如下: 1    select ...

  6. <Three.js>(第一节)环境搭建

    Three.js顾名思义3D的js库.是运行在浏览器的基于webgl的3D引擎.该引擎是github上的一个开源项目,下载地址:https://github.com/mrdoob/three.js/ ...

  7. 5、Go if else 条件判断

    package main import "fmt" func main(){ //注:在Go里面没有三元表达式”?:”,所以你只能使用条件判断语句. //示例一 if 7%2==0 ...

  8. nginx 配置若干问题

    配置nginx,遇到的几个小问题: 1. 报错信息: # nginx -t nginx: [warn] conflicting server name , ignored 分析解决: 配置文件中,重复 ...

  9. 监控web服务(http,本地 / 远程监控nginx)

    监控 httpd 服务一: #!/bin/bash #描述: 秒级别监控 http 服务 while [ 1 -lt 2 ] do sleep 10 ai=`netstat -ntl | grep & ...

  10. P3649 [APIO2014]回文串(回文树)

    题目描述 给你一个由小写拉丁字母组成的字符串 ss .我们定义 ss 的一个子串的存在值为这个子串在 ss 中出现的次数乘以这个子串的长度. 对于给你的这个字符串 ss ,求所有回文子串中的最大存在值 ...