merge
合并遍历集合出来的值,与<s:append>标签用法相似。
例子:
<s:merge id="list">
<s:param value="#request.list1"/>
<s:param value="#request.list2"/>
<s:param value="#request.list3"/>
<s:param value="#request.list4"/>
</s:merge>
<s:iterator value="%{list}">
<s:property/><br>
</s:iterator>
optgroup
optgroup标签用于生成一个下拉列表框的选项组,因此,该标签必须放在<s:select>标签中使用,一个下拉列表框中可以包含多个选项组,因此可以在一个<s:select>标签中使用多个<s:optgroup>标签。
<s:select label="选择您喜欢的图书" name="book" list="#{'Spring2.0':'李刚','J2EE':'李','Ajax宝典':'李'}"
listKey="value" listValue="key">
<s:optgroup label="Rod Johnson"
list="#{'Expert One-on-One J2EE Design and Development':'Johnson'}"
listKey="value"
listValue="key"/>
<s:optgroup label="David Flanagan"
list="#{'JavaScript: The Definitive Guide':'David'}"
listKey="value"
listValue="key"/>
</s:select>
optiontransferselect
optiontransferselect标签创建一个选项转移列表组建,它由两个<select>标签以及它们之间的用于将选项在两个<select>之间相互移动的按钮组成。表单提交时,将提交两个列表框中选中的选项。
示范代码:
<s:optiontransferselect
label="最喜爱的图书"
name="javaBook"
list="{'《Java Web开发详解》', '《Struts 2深入详解》', '《Java快速入门》'}"
doubleName="cBook"
doubleList="{'《VC++深入详解》', '《C++ Primer》', '《C++程序设计语言》'}"/>
param标签 主要用于为其他标签提供参数
用法:
<param name="color" value="blue" />
这里color参数的值是,blue对象的值----如果blue对象不存在,则color为null。
<s:password>标签类同于HTML的<input type=”password” …>,其name和label类同于<s:textfield>
例子:
<s: password name="password" label="密码"/>
例子:
<s:property value="username" default="游客"/>
取出栈顶对象(通常是action)的username 属性并输出,如果没有找到username属性,那么输出“游客”。
push标签用于将某个值放到ValueStack的栈顶,可以跟简单的访问该值。
示范样例:
<s:bean name="lee.Person" id="p">
<s:param name="age" value="29"/>
</s:bean>
<s:push value="#p">
<s:property value="name"/>
<s:propery value="age"/>
</s:push>
radio标签的用法与checkboxlist的用法几乎完全相同,一样可以指定label, list, listKey, listValue等属性。
<s:radio name="c" label="请选择您喜欢的图书" labelposition="top"
list="#bs.books"
listKey="author"
listValue="name"/>
示范代码:
<s:reset value="重置"></s:reset>
<s:reset type="button" label="重置"></s:reset>
s:select 标签输出一个下拉列表框,相当于HTML代码中的<select/>
示范代码:
<s:form>
<s:select label="最高学历" name="education" list="{'高中','大学','硕士','博士'}"/>
</s:form>
set标签是将某个值放到指定范围内, 比如说 student.teacher.parent.age 每次访问这个属性不仅性能低,而且代码可读性很差,为了解决这个问题,可以将这个值设置为一个新值,并且放入指定范围内。
使用示范:
<s:set value="#p" name="test"/>
<s:property value="#test.name"/> <br>
<s:property value="#test.age"/> <br>
对一个可以迭代的对象进行排序操作。
<s:sort comparator="myComparator" source="myList">
<s:iterator>
<!-- do something with each sorted elements -->
<s:property value="..." />
</s:iterator>
</s:sort>
Input : 等价于 HTML 代码 <input type= ” submit ” >
Image : 等价于 HTML 代码 <input type="image">
Button : <button type="submit"></button>
示范代码 :
<s:submit value="登陆"></s:submit>
subset
递归iterator的一部分。
例子:
<s:subset source="myList">
<s:iterator>
<s:property />
</s:iterator>
</s:subset>
示范代码:
<s:tabbedPanel id="tp1" closeButton="pane" theme="ajax" doLayout="true" selectedTab="second" labelposition="left">
<s:div id="first" label="第一个div" theme="ajax">
静态的DIV
</s:div>
<s:div name="second" label="第二个div" theme="ajax" href="%{T}" updateFreq="6000" delay="3000">
3:每六秒钟刷新一次,但有三秒延迟
</s:div>
</s:tabbedPanel>
示范代码:
<s:i18n name="ApplicationMessages">
<s:text name="HelloWorld" />
</s:i18n>
示范代码:
<s:textarea name="personal" cols="10" rows="5" label="个人简历"></s:textarea>
Textfield 标签输出一个 HTML 单行文本输入控件,等价于 HTML 代码 <input type= " text" >
示范代码:
<s:form action="register" method="post">
<s:textfield name="username" label="用户名"></s:textfield>
</s:form>
token标签是用于防止多次提交的标签。避免了刷新页面时多次提交,如果需要该标签起作用,则应该在Struts2的配置文件中启用TokenInterceptor拦截器或TokenSessionStoreInterceptor拦截器。
示范代码:
<s:form>
<s:token/>
</s:form>
tree和treenode标签可以在页面生成一个树形结构,其中tree生成一个树形结构,treenode生成一个树节点。
示范代码:
<s:tree label="图书" id="book" theme="ajax"
showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">
<s:treenode theme="ajax" label="David" id="David">
<s:treenode theme="ajax" label="JavaScript: The Definitive Guide" id="javascript"/>
</s:treenode>
</s:tree>
tree和treenode标签可以在页面生成一个树形结构,其中tree生成一个树形结构,treenode生成一个树节点。
示范代码:
<s:tree label="图书" id="book" theme="ajax"
showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">
<s:treenode theme="ajax" label="David" id="David">
<s:treenode theme="ajax" label="JavaScript: The Definitive Guide" id="javascript"/>
</s:treenode>
</s:tree>
示范代码:
<s:updownselect name="a" label="请选择您喜欢的图书" labelposition="top"
moveUpLabel="向上移动"
list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
示范代码:
指定action属性,且使用param传入参数的形式
<s:url action="showbook">
<s:param name="author" value="'yeeku'">
</s:url>