Struts(18)标签
控件标签
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>
iterator标签:
这些迭代器将遍历一个值。一个可迭代的值能够是不论什么的java.util.Collection 和 java.util.Iterator。尽管超过一个迭代器遍历排序,能够使用标签对结果进行排序或子集标签的列表或者数组得到一个子集。
以下的演示样例检索当前对象的值栈getDays()方法的值,并用它来遍历。<s:property/>标签打印出迭代器的当前值。
<s:iterator value="days">
<p>day is: <s:property/></p>
</s: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>
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>
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" />
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>
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>
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" />
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>
property 标签:
这些属性标签是用来获取属性的值,这将默认堆栈的顶部,假设没有指定。
<s:push value="myBean">
<!-- Example 1: -->
<s:property value="myBeanProperty" /> <!-- Example 2: -->TextUtils
<s:property value="myBeanProperty" default="a default value" />
</s:push>
push 标签:
这些push标签是用来推堆栈简化使用。
<s:push value="user">
<s:propery value="firstName" />
<s:propery value="lastName" />
</s:push>
set 标签:
这些set标签分配一个值给一个变量在指定的范围内。
它是实用的,当想分配一个变量到复杂的表达式。然后简单地引用变量每次而不是复杂的表达。可用的范围是application, session, request, page和行动。
<s:set name="myenv" value="environment.name"/>
<s:property value="myenv"/>
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>
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)标签的更多相关文章
- struts的标签库出现Failed to load or instantiate TagExtraInfo class
使用struts的标签库出现Failed to load or instantiate TagExtraInfo class 最近在使用struts标签库的时候,在eclipse开发环境中是正常的,放 ...
- Struts 2 标签库及使用
1 Struts 2 基本的标签属性. 1) name:指定表单元素的名称,该属性与Action中定义的属性相对应. 2) value:指定表单元素的值. 3) required:指定表单元素的必填 ...
- Struts1基础、使用Struts实现登录、使用Struts HTML标签简化开发
Struts 1基础 为什么重拾Struts 1 曾经是最主流的MVC框架 市场份额依然很大 很多遗留系统中依旧使用 维护和升级都需要熟悉Struts 1 与Struts 2相比 编码.配置繁琐 侵入 ...
- struts的标签
<%@ taglib uri="/struts-tags" prefix="s"%> <%@ taglib uri="/WEB-IN ...
- 5.Struts.xml标签中的一些小技巧
1.为Action属性注入值如给actions包下的test.java类中变量username赋值为"xingyun"在struts.xml中添加下面这段代码: <strut ...
- 菜鸟学习Struts——bean标签库
一.Struts标签库. Struts实际上包含了4个标签库:bean,logic,html,tiles bean:用来在属性范围中定义或取得属性的,同时可以读取资源文件信息 logic:替代JSTL ...
- Struts2笔记——struts常用标签
使用struts标签前,首先要配置struts2架构,然后导入标签库,jsp插入如下语句: <%@taglib uri="/struts-tags" prefix=" ...
- Struts 2 标签
注:要使用Strust 2标签需<%@ taglib prefix="s" uri="/struts-tags" %> 表单标签: .form标签 ...
- Struts 2 标签库
<s:if>标签 拥有一个test属性,其表达式的值用来决定标签里内容是否显示 <s:if test="#request.username=='clf'"> ...
- Struts UI标签的使用
先来看一下日期控件 html5标签中其实已经有日期的类型,用<input type="date">便可调用. struts里面也自带了日期控件,其使用步骤为: 1. 导 ...
随机推荐
- SSRS 报表 如何匿名查看
SSRS 报表 如何匿名查看 昨晚一直研究怎么能匿名访问报表然后给客户看呢? 研究了好几种办法 我试过的分为三种,其中推荐我认为相对可控一点. .修改SSRS配置文件来禁止他验证登陆用户权限 操作过的 ...
- RHEL启动错误:Kernel panic - not syncing:Attempted to kill init!解决方案
Virtual Box虚拟机启动RHEL系统报错,错误信息如下: 解决方案: 在GRUB引导界面按下e键,进入下图所示界面. 选择第二项,按下e键,进入编辑状态 在结尾追加enforcing=0,按下 ...
- java必会的英语单词
Java开发常用英语单词表 第一章:public['pʌblik] 公共的,公用的static['stætik] 静的;静态的;静止的void:[vɔid] 空的main:[mein] 主要的 重 ...
- 今日SGU 5.25
SGU 194 题意:无源汇有上下界的最大流 收获:https://wenku.baidu.com/view/0f3b691c59eef8c75fbfb35c.html #include<bit ...
- MIBTree
NETWORK-APPLIANCE-MIB http://www.mibdepot.com/cgi-bin/getmib3.cgi?abc=0&n=NETWORK-APPLIANCE-MIB& ...
- 一 SSH 无密码登陆 & Linux防火墙 & SELinux关闭
如果系统环境崩溃. 调用/usr/bin/vim /etc/profile SHH无密码登陆 所有要做得节点上运行 修改 host name vi /etc/sysconfig/netwo ...
- Oracle拾遗
这次学习Oracle视频.还是学到了不少东西的. 首先,这是一次系统的学习.对自己的知识体系是一次查漏补缺,曾经仅仅是简单的会用,如今看到出的问题,非常easy就能够想到是哪一部分出了问题.尤其是如今 ...
- 《Java设计模式》之装饰模式
装饰模式(Decorator) 1. 装饰模式(Decorator)的定义:又名包装(Wrapper)模式.装饰模式以对client透明的方式扩展对象的功能,是继承关系的一个替代方案. 2. ...
- Qt编译mysql以及创建表后进行导入操作
鉴于很多同学对Qt编译myql总是不能成功.出现各种问题,今天特此写出本教程,希望可以帮到须要的同学. 首先,须要明确编译的目的和原理. 目的:Qt 5.2版本号曾经都是不带mysql驱 ...
- sass01
Chrome --流行的浏览器,及前端开发调试工具 WebStorm --强大的跨平台前端集成开发环境 Sublime Text --神器级别的代码编辑器,如vim般强大,而上手难度极低. ----- ...