Struts标签基本知识
来源:互联网 发布:淘宝格子铺登录 编辑:程序博客网 时间:2024/04/29 03:50
Struts标签基本知识
1.普通标签:控制执行的流程
1.1 控制标签:实现分支、循环等流程控制
ifelseifelseappendgeneratoriteratormergesortsubset
1.2 数据标签:输出后台的数据和完成其他数据访问功能
aactionbeandatedebugi18nincludeparampropertypushsettexturl
2.UI标签:以丰富而可复用的HTML文件来显示数据
2.1 表单标签:用来生成HTML页面中的表单元素
checkboxcheckboxlistcomboboxdoubleselectheadfileformhiddeninputtransferselectlabeloptiontransferselectoptgrouppasswordradioresetselectsubmittextareatextfieldtokenupdownselect
2.2 非表单标签:用来生成HTML的<div>标签及输出Action中封装的信息
actionerroractionmessagecomponentdivfielderror
2.3 Ajax标签
aautocompleterbinddatetimepickerdivheadsubmittabbedPaneltextareatreetreenode
3.标签的使用
导入Struts2-core-xxx.jar包在JSP文件中添加 <%@ taglib prefix="s" uri="/struts-tags" %>
- 1.访问HTTP请求参数:#parameters[‘id’]或#parameters.id
- 2.访问HTTP请求属性:#request[‘user]或#request.user
- 3.访问session属性:#session[‘user’]或#session.user
- 4.访问application属性:#application[‘user’]或#application.user
5.创建List集合,value值为默认
<s:select label="Country" name="country" list="{'America','China','Russia'}" value="%{'China'}" />
6.创建一个Map集合
<s:select label="Sex" name="sex" list="#{'0':'female','1':'male'}" />
7.if标签:标签体
<s:if test="'A' in {'A','B'}"> In</s:if><s:if test="'foo' not in {'foo','bar'}" > Not in</s:if><s:else> In</s:else>
8.iterator标签
//begin:迭代数组或集合的起始位置//end:迭代数组或集合的结束位置//status:迭代过程中的状态,该属性可以获取迭代过程中的状态信息(元素个数,当前索引值,索引值奇偶性等)//step:指定每一次迭代后索引值增加的值//value:迭代数组或者集合对象//var:将生成的Iterator设置为page范围的属性//id:不推荐使用<s:iterator var="name" value="{'HTML','JAVA','CSS'}" status="st"> <!-- 如果是奇数 --> <s:if test="#st.odd"> <tr style="background-color:red;"> <td><s:property value="name" /></td> </tr> </s:if></s:iterator>// ?:获得所有符合逻辑的元素//^:获得符合逻辑的第一个元素//$:获得符合逻辑的最后一个元素<s:iterator value="people.{?#this.age > 20}" var="p"> <s:property value="p.name" /></s:iterator>
9.append标签
<s:append var="newList"> <s:param value="{'HTML入门','Java基础','css入门'}"></s:param> <s:param value="{'Struts教程','JavaWeb实战'}"></s:param></s:append>
10.generator标签:用来将指定字符串按指定分隔符分割成多个子串
//converter:指定转换器//count:指定生成集合中元素个数//separator:指定字符串的分隔符//val:指定被解析的字符串//var:将生成的Iterator设置为pageContext范围的属性<s:generator val="%{'aaa,bbb,ccc,ddd,eee'}" count="3" separator=","></s:generator>
- 11.merge标签:用来将多个集合拼接成同一个集合
12.sort标签:用于对指定的集合元素进行排序,在进行排序时,必须提供自己的排序规则,即自定义Comparator
//Comparator:指定进行排序实例//id:不推荐使用,var可替代//source:指定排序集合,如不指定为ValueStack栈顶集合//var:将生成的Iterator设置为page范围的属性<s:sort comparator="#mycomparator" source="{'ccc','adds','bbbb'}"></s:sort>
13.subset标签:取出指定集合的子集
//count:指定子集中元素的个数//decider:指定一个decider对象,该对象决定是否选择该元素//id:不推荐//source:指定源集合//start:指定从第几个元素截取//var:将生成的Iterator设置为pageContext范围的属性<s:subset source="{'a','b','c','d'}" start="1" count="2"></s:subset>
14.a标签:用于构造HTML页面中的超链接
//action:指定超链接Action地址//href:超链接地址//namespace:指定Action地址//id:指定其id//method:指定Action调用方法
15.action标签:用来在JSP页面中调用Action
//executeResult:指定是否将处理结果页面显示在本页面,默认为false//var:将指定Action放入ValueStack中//name:指定调用的Action//flush:输出结果是否刷新,默认为true//ignoreContextParams:指定该页面中的参数是否传入指定Action,默认为false//namespace:指定调用Action的命名空间<s:action name="user" executeResult="true" namespace="/" />
16.bean标签
<s:bean name="com.model.User" var="usr"> <s:param name="name" value="'tom'"> <s:param name="age" value="20"> <s:if test="#usr.age > 10"> <s:property value="#usr.name" /> </s:if></s:bean>
17.date标签:输出指定格式的日期
//name:指定日期值//var:指定将日期放入ValueStack中//nice:指定是否输出指定日期和当前日期之间的时差//format:指定输出格式<s:date name="person.birthday" format="dd/MM/yyyy" />
- 18.debug标签:主要用于开发者在开发过程中调试程序时输出更多的调试信息
19.i18n标签:用来进行资源绑定,然后将其放入ValueStack
//name:指定资源文件
- 20.include标签:将一个JSP页面包含到该页面中
- 21.param标签:用于为其他标签提供参数
22.property标签:用于输出ValueStack中对象的属性值,可以使用其value属性来指定要输出的对象属性
//value:指定要输出的值//default:指定默认输出值,如果输出值为null,则输出default属性值<s:property value="username" default="普通用户" />
23.push标签:将一个值放到ValueStack的栈顶
<s:push value="user"> <s:property value="firstName" /></s:push>
24.set标签:用于将某个值放入指定范围内
//value:指定将赋给变量的值,如果没有则将ValueStack栈顶的值赋给变量//var:指定变量名,该变量将会放入ValueStack,也可使用name或id//scope:指定变量放入范围(application,request,session,page,action),默认为action范围<s:set var="personName" value="person.name" /><s:property value="#personName" />
25.text标签:主要用来输出国际化资源文件信息
//name:要获取的资源属性//searchValueStack:假如无法获取资源属性,是否要到stack中搜索其属性//var:命名得到的资源属性,然后放入ValueStack中
26.url标签:用来生成URL映射地址
//action:指定生成的URL地址的Action,如果不提供该属性,则使用value值为URL的地址值//anchor:指定URL的锚点//encode:指定是否对参数进行编码,默认为true//escapeAmp:指定是否对&符号进行编码,默认为true//includeContext:指定将当前上下文包含在URL地址中//includeParams:指定是否包含请求参数,其值只能为none、get或all,默认为get//method:指定Action调用方法//namespace:指定Action命名空间//value:指定生成URL地址,如果value属性不提供则使用action属性值为URL地址//var:指定该链接变量,并将其放入ValueStack中<!-- 生成映射地址url --><s:url value="user.action" var="url" > <s:param name="id" value="10" /></s:url><!-- 访问url对应的地址 --><s:a href="%{url}">user</s:a>
27.form标签
//action:指定提交时对应的Action//namespace:指定action命名空间
- 28.submit标签:产生提交按钮
29.checkbox标签:创建复选框
//name:指定该元素name//value:指定该元素value//label:生成一个label元素//fieldValue:指定真实的value,会屏蔽value属性值
30.checkboxlist标签:用于一次性创建多个复选框
//name:指定表单元素名字//list:要迭代的集合,使用集合中的元素来设置各个选项,如果list的属性为Map,则Map的key成为选项的value,Map的value会成为选项的内容//listKey:指定集合对象中的哪个属性作为选项的value//listValue:指定集合对象中的哪个属性作为选项的内容<s:checkboxlist name="characters" list="#{'a':'1','b':'2','c':'3'}" label="choose a character" labelposition="top" listKey="key" listValue="value" />
31.combobox标签:用于创建文本框和下拉列表框的组合
//name:指定表单元素名字//list:指定集合,该集合中的元素对应生成的列表项//headerKey:headerValue的键,默认为"-1"//headerValue:用作标题的选项的文本,因为它是一个标题,所以是只读的,不能选择//label:生成一个label元素<s:combobox label="My Favourite Fruit" name="fruit" list="{'apple','banana','grape','pear'}" headerKey="-1" headerValue="----please select-----" emptyOption="true" value="banana" />
32.doubleselect标签:创建两个相关联的列表框
//list:指定要迭代的集合,使用集合中的元素来设置各个选项//listKey:指定集合对象中哪个属性作为选项的value,该选项只对第一个列表框起作用//listValue:指定集合对象中的哪个属性作为选项的内容,该选项只对第一个列表框起作用//doublelist:指定第二个列表框要迭代的集合//doubleListKey:指定集合对象中的哪个属性作为选项的value,该选项只对第二个列表框起作用//doubleListValue:指定集合对象中的哪个属性作为选项的内容,该选项只对第二个列表框起作用//doubleName:指定第二个列表框的name属性//multiple:是否多选,默认为false<s:doubleselect label="choose a city" name="province" list="{'四川省','山东省'}" doubleName="city" doubleList="top == '四川省' ? {'成都市','绵阳市'} : {'济南市','青岛市'}" />
- 33.head标签:用于生成HTML的HEAD部分
- 34.file标签:创建一个文件选择框
- 35.hidden标签:创建一个隐藏表单元素
inputtransferselect标签:用来获取输入转到列表框中,或从列表中移除,实际上该标签创建了多个表单元素的集合
//list:要迭代的集合,使用集合中的元素来设置各个选项//listKey:指定集合对象中哪个属性作为选项的value//listValue:指定集合对象中哪个属性作为选项的内容//multiple:指定是否多选,默认为false//upLabel:设置向上移动按钮上的文本//downLabel:设置向下移动按钮上的文本//allowMoveUp:设置是否使用向上移动按钮,默认为true//allowMoveDown:设置是否使用向下移动按钮,默认为true//addLabel:设置添加输入到右边列表框的按钮上的文本<s:inputtransferselect label="Favourite fruits" name="fruits" list="{'apple','banana','pear'}" upLabel="up" downLabel="down" removeAllLabel="removeall" removeLabel="remove" addLabel="add" />
- 37.label标签:生成label标签
38.optiontransferselect标签:创建一个选项转移列表组件
//list:要迭代的集合,使用集合中的元素来设置各个选项//listKey:指定集合对象中的哪个属性作为选项的value,该选项只能对第一个列表框起作用//listValue:指定集合对象中的哪个属性作为选项的内容,该选项只对第一个列表框起作用//multiple:是否多选,默认为false//doubleList:要迭代的集合,使用集合中的元素来设置各个选项//doubleListKey:指定集合对象中的哪个属性作为选项的value,该选项只对第二个列表起作用//doubleListValue:指定集合对象中的哪个属性作为选项的内容,该选项只对第二个列表框起作用//doubleMultiple:是否多选,默认为false//doubleName:指定第二个列表框的name属性<s:optiontransferselect label="Favourite Cartoons Characters" name="leftSides" leftTitle="Left Title" rightTitle="Right Title" list="{'Popeye','He-Man','Spideman'}" multiple="true" headerKey="headerKey" headerValue="---Please Select---" emptyOption="true" doubleList="{'Superman','Mickey Mouse','Donald Duck'}" doubleName="rightSides" doubleHeaderKey="doubleHeaderKey" doubleHeaderValue="---Please Select---" doubleEmptyOption="true" doubleMultiple="true" />
39.select标签:创建一个下拉列表框
//list:要迭代的集合//listKey:指定集合对象中的哪个属性作为选项的value//listValue:指定集合对象中的哪个属性作为选项的内容//headerKey:设置当用户选择了header选项时,提交的value,如果使用该属性,不能为该属性设置空值//headerValue:显示在页面中header选项的内容//multiple:指定是否多选,默认为false<s:select label="Months" name="months" headerKey="-1" headerValue="Select Month" list="#{'01':'Jan','02':'Feb'}" listKey="key" listValue="value" />
40.optgroup标签:生成一个下拉列表框的选项组
//list:要迭代的集合//listKey:指定集合对象中的哪个属性作为选项的value//listValue:指定集合对象中的哪个属性作为选项内容<s:select label="My Selection" name="mySelection" value="%{'POPEYE'}" list="%{#{'SUPERMAN':'Superman','SPIDERMAN':'spiderman'}}"> <s:optgroup label="Adult" list="%{#{'SOUTH_PARK':'South Park'}}" /> <s:optgroup label="Japanese" list="%{#{'POKEMON':'pokemon','DIGIMON':'digimon'}}" /></s:select>
41.password标签:创建一个密码输入框
<s:password label="Password" name="password" maxlength="15" />
42.radio标签:创建多个单选框
<s:radio label="Gender" name="gender" list="#{'male':'男','female':'女'}" listKey="key" listValue="value" />
- 43.reset标签:创建一个重置按钮
- 44.textarea/textfield标签:创建文本框,textarea多行,textfield单行
45.token标签:用于防止表单重复提交
<s:form> <s:token /></s:form>
46.updownselect标签:用来创建一个带有上下移动的按钮的列表框
//list:要迭代的集合//listKey:指定集合对象中的哪个属性作为选项的value//listValue:指定集合对象中哪个属性作为选项的内容//multiple:指定是否多选,默认为false//moveUpLabel:设置向上移动按钮上的文本//moveDownLabel:设置向下移动按钮上的文本//allowMoveUp:设置是否使用向上移动按钮,默认true//allowMoveDown:设置是否使用向下移动按钮,默认true//allowSelectAll:设置是否使用全部选择按钮,默认为true//selectAllLabel:设置全部选择按钮上的文本<s:updownselect list="#{'england':'England','america':'America','germany':'Germany'}" name="country" headerKey="-1" headerValue="---choose a country---" emptyOption="true" moveUpLabel="up" moveDownLabel="down" selectAllLabel="all" />
- 47.actionerror标签:用于输出错误信息到客户端
- 48.actionmessage标签:用于输出提示信息到客户端
- 49.component标签:主要用来使用自定义标签、模板、主题
- 50.div标签:输出div标签
- 51.fielderror标签:输出Action中的fieldErrors属性保存的字段错误
- Struts标签基本知识
- Struts基本知识
- struts 基本知识
- struts基本知识
- struts标签
- Struts标签
- Struts标签
- struts标签
- struts 标签
- Struts标签
- Struts标签
- struts标签
- Struts标签
- Struts标签
- struts标签
- struts标签
- struts标签
- Struts标签
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- C语言经典笔试题(二)
- JavaScript中的execCommand()命令详解及实例展示
- spring事务传播机制实例讲解
- 多行数据转换成一个字符串
- Struts标签基本知识
- Ubuntu dpkg ---- apt-get ------ aptitude 区别及作用
- 总结,关于跨域请求的问题
- docker的使用
- 高德地图所遇到的坑
- 怎么写博客
- Xshell实现Windows上传文件到Linux主机
- phpcms发布文章自定义字段
- lvs+keepalived的安装与配置