====================================================================

需要在head中用<s:head />标签

一、控制标签:

1 <s:if test=''></s:if>

<s:elseif test=""></s:elseif>

<s:else></s:else>:条件判断

id:(可选的)

test:(必须的,boolean),决定是否显示if内的内容

test中可以用in/not in 判断

------------------------------

2 <s:property />:用于输出指定值

default:需要输出的属性值为null则显示该默认值(可选)

escape:指定是否格式化HTML代码(可选)

value:指定需要输出的属性值,如果没有指定则默认输出ValueStack栈顶的值(可选)

id:指定该元素的标识(可选)

------------------------------

3 <s:iterator />:用于对集合(List、Set、数组)进行迭代

value:指定被迭代的集合,若没有则使用值栈栈顶的集合(可选)

id:当前被迭代的元素

var:

status:指定迭代时的IteratorStatus的实例,其包含如下方法

int getCount():返回当前迭代了几个元素

int getIndex():返回当前迭代元素的索引

boolean isEven():返回当前被迭代元素的索引是否是偶数

boolean isOdd():返回当前被迭代的元素的索引是否是奇数

boolean isFirst():返回当前被迭代元素是否是第一个元素

boolean isLast():返回当前被迭代元素是否是最后一个元素

#status.even 是否偶数行

#status.odd 是否奇数行

#status.count 当前行数

#status.index 当前行的序号,从0开始[#status.count=#status.index+1]

#status.first 是否第一行

#status.last 是否最后一行

#status.modules(int) 当前行数取模

------------------------------

4 <s:append var="">

<s:param value=""/>

</s:append>

作为iterator的辅助使用,将多个(param标签表示的)集合合并,

var:表示新生成的集合

------------------------------

5 <s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="3" separator=',' var="ge">

<s:iterator><s:property /><br /></s:property>

</s:generator>

可以将指定字符串按指定分隔符分隔成多个字符串,生成的多个字符串可以使用iterator标签迭代。

(该标签将一个字符串转换成list集合,在标签体内,临时生成的集合在值栈顶端,

标签结束后集合被移出值栈。)

val:指定被解析的字符串

count:可选,指定生成集合的数,若为3,生成的iterator只有val的前三项'aaa,bbb,ccc';(可选)

var:(可选),使用该属性后,可在后续JSP中通过request.getAttribute()来获取Iterator

或者OGNL中,#request.ge或者ge来获取,很多标签有此可选属性

separator:(必须)分隔符

convertor:(可选)

------------------------------

6 <s:sort comparator="" source="" >

...

</s:sort>:排序

comparator:必须,指定排序用的比较器

source:可选,需要排序的对象

------------------------------

7 <s:subset>

<s:iteraotr>...

</s:subset>:截取iterator的一部分(子集),属性全部为可选

count:截取的数量

decider:决定是否将该元素选入子集(可实现过滤,写一个类实现SubsetIteratorFilter.Decider接口中

的boolean decide(Object element)方法,element代表当前判定的元素,如果该方法返回真,

则表明该元素element将被选入子集中),被过滤掉的元素不计入count中,decider的值是上述类

的一个实例对象。

source:集合对象

start:集合中开始的位置

------------------------------

==============================

二、数据标签

1 <s:action>:可以允许在JSP页面直接调用Action,在调用的时候可以指定需要被掉用的Action的

namenamespace;如果指定了executeResult参数的属性为true,该标签会把Action的处理结果(就是result

所跳转的那个页面的内容)包含到本页面中。

id:可选,

name:必须的,Action的名字,

namespace:可选,所调用的Action的所在的namespace

executeResult:可选,指定是否将处理结果包含到本页面,默认false不包含

ignoreContextParam:可选,指定该页面的请求参数是否需要传入Action中,默认false传入参数

(ignore是忽视的意思)

------------------------------

2 <s:bean />:依据一个类生成一个javabean对象,可通过param标签传递参数

name:用于生成bean的Java类

var:可选,bean对象名

------------------------------

3 <s:date />:标签用于格式化日期

format:可选,指定格式 eg:

nice:可选,true/false;指定是否输出指定日期和当前时刻的时差,默认false不输出

name:必须,指定要格式化的日期

var/id:可选,将事件对象放入值栈,

------------------------------

4 <s:debug />:用于调试程序,显示信息

------------------------------

5 <s:i18n />:用于访问国际化资源文件的内容(文件名格式:name_zh_CN.properties,name为基本名)

name:指定资源文件的基本名(带范围)。

若文件放于src下则为全局的;放在包下则为包范围的;基本名和Action类的基本类名相同则为Action范围的

<s:text />:用于获取国际化资源文件的内容。

name:对应资源文件中的key

若为textfield获取的话,应该使用key属性对应资源文件的key,不能使用name属性

------------------------------

6、 <s:include value=""/>:导入一个JSP文件,value指定文件路劲名

------------------------------

7 <s:param name="" value="" />:给指定参数设置值

------------------------------

8、 <s:property />:输出值

------------------------------

9 <s:push />:可将程序员在ActionContext中引用的对象压入值栈中,为以后访问对象提供方便

value:指明需要压入值栈的对象

------------------------------

10 <s:set />:声明对象或者设置属性值

name/id/var:变量的名称

scope:范围,page,request,session,application,action,默认在request和ActionContext中

value:变量的值

------------------------------

11 <s:url var="myurl" action="abc" namespace="/uitag">

<s:param name="name" value="ljh" />

</s:url>:生成url

<s:a href="%{myurl}">a标签的链接</s:a>

action:该URL请求的action

namespace:该URL请求的ACTION所在的名空间

method:指明调用Action的什么方法

id/var:该url的ID,引用此URL时用到

生成的路劲为:/struts/uitag/abc.action?name=ljh

》注: %符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值,如value="%{#myurl}"《

<s:set name="Url" value="'http://www.baidu.com'" />

<s:a href="%{Url}">a标签的链接</s:a>

----------------------//<s:url value="#Url" /> //输出的是#myurl

<s:url var="url" value="%{#Url}" /> //输出的是http://www.baidu.com

<s:a href="%{url}">a标签的链接</s:a>

------------------------------

==============================

三、UI标签

----

templateDir:定义模版目录

theme:定义主题名字

template:定义模版名字

----

通用属性:

cssClass:定义CSS属性类

cssStyle:定义CSS属性

title:定义html title属性

disabled:是否失效

label:

labelPosition:label在form中的位置,从左从上计算

requiredPosition:定义必须的标签在Form中的位置

name:

required:在label上添加一个*

tabIndex:定义html tabIndex属性

value:

----------------

1 <s:checkbox name="" label="" value="" />

value:true/false,表示是否选中

<s:checkboxlist name="mylist" list="{'java','.net','php'}" value="{'java','php'}" />

list:复选框列的集合

name:复选框的名字

value:复选框默认选中的

theme:主题(共有属性),struts2默认提供四种:simple、xhtml(默认)、css xhtml、ajax

<s:checkboxlist name="mymap" list="#{'a':'China', 'b':'English', 'c':'Canada'}" listKey="key" listValue="value" value="{'a','b'}" /> 如果集合中存放的是Javabean,则listKey和listValue的值可以直接用OGNL表达式,是bean的属性

------------------------------

2 <s:combobox />:生成一个单行文本框和一个下拉列表框,当行文本框用于输入(有请求参数),

下拉框用于辅助输入(无请求参数),没有实际意义

name:

label:

list:指定下拉框的值

headerKey:下拉框的头ID

headerValue:下拉框的头值

------------------------------

3 <s:radio name="mymap" list="#{1:'China',2:'English',3:'Canada'}" listKey="key" listValue="value" value="2" />表示2对应的默认选中

<s:radio name="mylist" list="{'java','php','c++'}" value="java" />表示java被默认选中

<s:radio name="r3" list="#attr.userList" listKey="id" listValue="name" />

------------------------------

4 <s:select name="mylist" list="{'java','php','c'}" value="java" multiple="" >

<s:optgroup label="数据库" list="{'oracle','mysql'}" />

</s:select>

其他类似单/复选框

multiple:boolean,是否多选

size:设置下拉框显示的选项个数

<s:optgroup label="数据库" list="{'oracle','mysql'}" />:作select的子标签用,在下拉框中分组显示

------------------------------

5 <s:doubleselect />:二级联动级联菜单

name:

list:

doublename:

doublelist:

label:

------------------------------

6 <s:optiontransferselect />:选项转移列表,生成左右两个列表框,可将一个的内容转到另一个

------------------------------

7 <s:updownselect />:可上下选择的select

lable:

name:

list:

emptyOption:boolean,是否加空白行,默认false

moveDownLabel:设置向下移动按钮的文本

moveUpLabel:设置向下移动按钮的文本

selectAllLabel:设置全选按钮的文本

allowMoveDown:

allowMoveUp:

allowSelectAll:是否可以全部选中,为false时selectAllLabel属性不可用

------------------------------

8 <s:token />:加入此标记防止表单重复提交

<s:form>

...<s:token /><s:submnit/>

</s:form>

需要启动两个拦截器:

<action ...>

<interceptor-ref name="defaultStack" />

<interceptor-ref name="token" />

<result name="invalid.token">...</result>

<result>...</result>

</action>

------------------------------

9 <s:textfield />:生成一个单行文本框

label:显示在文本框外面的提示文字,

value:

maxlength:输入的最大字符数

required:lable显示时加上一个*号(提示必填)

size:文本框的长度

readonly:只读

<s:textarea />:生成一个文本域

cols:

rows:

------------------------------

10 <s:file name="" accept="" />:文件选择标签

accept:指定文件的MIME类型

<s:label/>标签:

<s:submnit name="method:login" />标签:有三种类型

name:

type:指定类型,可以是submit/image/button

src:为image类型的时候指定路径,

action:指定处理的action

method:指定处理的action的方法

disabled:指定此表单是否不可用

预定义的前缀:method/action/redirect/redirect-action

method:取代action默认的execute方法(name="method:login")

action:取代form指定的action,导向另一个action(name="action:regist")

redirect:请求重定向到另一个URL,可以是应用程序外部的URL(name="redirect:http://www.baidu.com")

redirect-action:请求重定向到其他action

<s:reset />:生成一个重置按钮,input类型时不能用label只有用value

type:指定类型为button/input,默认input,

------------------------------

11 <s:form />

------------------------------

导入dojo插件包:<%@taglib uri="/struts-dojo-tags" prefix="sd" %>

必须在<head>中用<sd:head parseContent="true" />

四、Dojo插件包的标签

1 <sd:datetimepicker datetimepicker name="#session.user.birthday"

id="birthday" displayFormat="yyyy-MM-dd" />:日期选择控件

displayFormat:指定选中的日期生成的格式, yyyy-MM-dd

name:可以是OGNL表达式读取的后代的值(Date类型)

value:

------------------------------

2 <sd:tabbedpanelbl />:选项卡控件

------------------------------

3 <sd:textarea />:textarea控件,华丽的文本域

------------------------------

Struts标签库详解【2】的更多相关文章

  1. Struts标签库详解【3】

    struts2标签库详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri= ...

  2. Struts标签库详解【1】

    struts2标签详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri=& ...

  3. [转]Struts标签库详解

    本文转自:http://hi.baidu.com/xzkcz/blog/item/5cf9f91f01beb9f4e0fe0bd4.html   Struts提供了五个标签库,即:HTML.Bean. ...

  4. Struts标签库详解,非常好的Struts标签详解

    Struts提供了五个标签库,即:HTML.Bean.Logic.Template和Nested. HTML 标签:         用来创建能够和Struts 框架和其他相应的HTML 标签交互的H ...

  5. struts2标签库详解

    要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri="/struts ...

  6. Struts2 标签库详解2

    Struts2标签库 包括: OGNL Struts2标签分类 控制标签 :(if, elseif,else, iterator, append, merge, generator, subset, ...

  7. 10.javaweb核心标签库详解

    一.JSTL简介及在项目中安装配置 1,  简介 使用JSTL标签的目的就是不希望jsp中出现java逻辑代码 分类 2,  JSTL的安装配置 首先将jar包中的各个标签库配置文件拷贝到项目WEB- ...

  8. Struts2 标签库详解

    Struts2标签库 包括: OGNL Struts2标签分类 控制标签 :(if, elseif,else, iterator, append, merge, generator, subset, ...

  9. java-自定义标签&&JSTL标签库详解

    自定义标签是Jav aWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面就来看一下自定义标签的简介: ...

随机推荐

  1. Git版本控制:Git分支处理

    http://blog.csdn.net/pipisorry/article/details/46958699分支的意义创建分支可以避免提交代码后对主分支的影响,同时也使你有了相对独立的开发环境. 假 ...

  2. U盘无法安装win10提示Your PC/Device needs to be repaired

    前一阵子把笔记本自带的win8升级到8.1,又升级到win10. 差不多有一个月没有开机,前几天开机后进不了系统,出现如下图的提示.买电脑自带的win8是正版的,但升级到win10后就过期了,也真是坑 ...

  3. Using PL/SQL APIs as Web Services

    Overview Oracle E-Business Suite Integrated SOA Gateway allows you to use PL/SQL application program ...

  4. 【Visual C++】游戏编程学习笔记之八:鼠标输入消息(小demo)

     本系列文章由@二货梦想家张程 所写,转载请注明出处. 作者:ZeeCoder  微博链接:http://weibo.com/zc463717263 我的邮箱:michealfloyd@126.c ...

  5. Linux管理日记(三)

    23. 时间同步 同步时间可以使用 root 执行如下命令完成: rdate -s time.nist.gov 如果需要自动同步,可以采用crontab自动调度,每小时执行一次:  编辑 cronta ...

  6. Centos下grep命令简介

    grep命令简介 grep 是一个最初用于Unix操作系统的命令行工具.在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本. grep ...

  7. VMWare安装Ubuntu装完之后安装VMtools

    今天搭建Hadoop环境,在虚拟机中安装了Ubuntu系统,但是Windows系统不能给虚拟机系统传输文件,很是不方便.在网上找了很久,也是过了很多办法,但是下面的方式是可行的,希望对读者有帮助. 第 ...

  8. ios中XMPP的搭建

    1 首先下载xmppframework这个框架 https://github.com/robbiehanson/XMPPFramework   2 环境配置 参考:https://github.com ...

  9. Copy List with Random Pointer(复杂链表复制)

    输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否则判题程序 ...

  10. FreeMarker系列学习笔记

    FreeMarker是一个非常优秀的模板引擎,这个模板引擎可用于任何场景,FreeMarker负责将数据模型中的数据合并到模板中,从而生成标准输出.FreeMarker可以提供昜好的团队协作,对于界面 ...