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

需要在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. [问与答]Python 中 __all__ 的作用 ?

    你要是看Python的源码或者相关框架的源码,总是在 __init__.py 或者是源文件的开头看到一个 __all__ 变量的定义,今天就说说它的作用. orangleliu 问题出处 Can so ...

  2. droid invalidate和postinvalidate的区别

    Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中 ...

  3. SpriteBuilder代码中弱引用(weak)需要注意的地方

    比如在GameScene类中有一个弹出菜单层实例的引用,我们有: @implementation GameScene{ //other ivars __weak GameMenuLayer *_pop ...

  4. C++之标准输入输出

    由于在公司,无法上传图片,往后补上. 关于C++的标准输入输出,其实就相当于C语言的scanf和printf,只不过C++用cin和cout这样称为流的机制. #include <iostrea ...

  5. Windows2008+MyEclipse10+Android开发环境搭配

    Windows2008+MyEclipse10+Android开发环境搭配 知识要点:64位系统中离线安装MyEclipse的ADT插件步骤办法 功能描述:解决Windows2008+MyEclips ...

  6. HBase集群部署脚本

    #!/bin/bash # Sync HBASE_HOME across the cluster. Must run on master using HBase owner user. HBASE_H ...

  7. Unity与web交互

    Unity在发布web时,重要的是Unity与Web的交互,参数的传递 1.unity调用网页js的函数:Application.ExternalCall js函数: <script langu ...

  8. How to download the installation package by ZOL Downer

    How to download the installation package by ZOL Downer Ma Genfeng (Guangdong Unitoll Services incorp ...

  9. 《老罗的Android之旅》导读PPT

    虽然好几个月没更新博客了,但是老罗一直有在准备可以分享的东西的.除了早前在微博分享Android4.2相关技术之外,这次还特意准备了13个PPT,总结之前所研究过的东西.内容从Android组件设计思 ...

  10. C# Word转为多种格式文件(Word转XPS/SVG/EMF/EPUB/TIFF)

    一款有着强大的文档转换功能的工具,无论何时何地都会是现代办公环境极为需要的.在本篇文章中,将继续介绍关于Word文档的转换功能(Word转XPS/SVG/EMF/EPUB/TIFF)希望方法中的代码能 ...