struts2标签详解
A:
<s:a xhref=""></s:a>-----超链接,类似于html里的<a></a>
<s:action name=""></s:action>-----执行一个view里面的一个action
<s:actionerror/>-----如果action的errors有值那么显示出来
<s:actionmessage/>-----如果action的message有值那么显示出来
<s:append></s:append>-----添加一个值到list,类似于list.add();
<s:autocompleter></s:autocompleter>-----自动完成<s:combobox>标签的内容,这个是ajax
B:
<s:bean name=""></s:bean>-----类似于struts1.x中的,JavaBean的值
C:
<s:checkbox></s:checkbox>-----复选框
<s:checkboxlist list=""></s:checkboxlist>-----多选框
<s:a xhref=""></s:a>-----超链接,类似于html里的<a></a>
<s:action name=""></s:action>-----执行一个view里面的一个action
<s:actionerror/>-----如果action的errors有值那么显示出来
<s:actionmessage/>-----如果action的message有值那么显示出来
<s:append></s:append>-----添加一个值到list,类似于list.add();
<s:autocompleter></s:autocompleter>-----自动完成<s:combobox>标签的内容,这个是ajax
B:
<s:bean name=""></s:bean>-----类似于struts1.x中的,JavaBean的值
C:
<s:checkbox></s:checkbox>-----复选框
<s:checkboxlist list=""></s:checkboxlist>-----多选框
天津机动车摇号网站<s:combobox list=""></s:combobox>-----下拉框
<s:component></s:component>-----图像符号
D:
<s:date/>-----获取日期格式
<s:datetimepicker></s:datetimepicker>-----日期输入框
<s:debug></s:debug>-----显示错误信息
<s:div></s:div>-----表示一个块,类似于html的<div></div>
<s:doubleselect list="" doubleName="" doubleList=""></s:doubleselect>-----双下拉框
E:
<s:if test="#name=’hujianqiang’">asdfasdf</s:if>
<s:elseif test=""></s:elseif>
<s:else></s:else>-----这3个标签一起使用,表示条件判断
<s:component></s:component>-----图像符号
D:
<s:date/>-----获取日期格式
<s:datetimepicker></s:datetimepicker>-----日期输入框
<s:debug></s:debug>-----显示错误信息
<s:div></s:div>-----表示一个块,类似于html的<div></div>
<s:doubleselect list="" doubleName="" doubleList=""></s:doubleselect>-----双下拉框
E:
<s:if test="#name=’hujianqiang’">asdfasdf</s:if>
<s:elseif test=""></s:elseif>
<s:else></s:else>-----这3个标签一起使用,表示条件判断
F:
<s:fielderror></s:fielderror>-----显示文件错误信息
<s:file></s:file>-----文件上传
<s:form action=""></s:form>-----获取相应form的值
G:
<s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用
H:
<s:head/>-----在<head></head>里使用,表示头文件结束
<s:hidden></s:hidden>-----隐藏值
I:
<s:i18n name=""></s:i18n>-----加载资源包到值堆栈
<s:include value=""></s:include>-----包含一个输出,servlet或jsp页面
<s:fielderror></s:fielderror>-----显示文件错误信息
<s:file></s:file>-----文件上传
<s:form action=""></s:form>-----获取相应form的值
G:
<s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用
H:
<s:head/>-----在<head></head>里使用,表示头文件结束
<s:hidden></s:hidden>-----隐藏值
I:
<s:i18n name=""></s:i18n>-----加载资源包到值堆栈
<s:include value=""></s:include>-----包含一个输出,servlet或jsp页面
<s:inputtransferselect list=""></s:inputtransferselect>-----获取form的一个输入
<s:iterator></s:iterator>-----用于遍历集合
L:
<s:label></s:label>-----只读的标签
M:
<s:merge></s:merge>-----合并遍历集合出来的值
O:
<s:optgroup></s:optgroup>-----获取标签组
<s:optiontransferselect doubleList="" list="" doubleName=""></s:optiontransferselect>-----左右选择框
P:
<s:iterator></s:iterator>-----用于遍历集合
L:
<s:label></s:label>-----只读的标签
M:
<s:merge></s:merge>-----合并遍历集合出来的值
O:
<s:optgroup></s:optgroup>-----获取标签组
<s:optiontransferselect doubleList="" list="" doubleName=""></s:optiontransferselect>-----左右选择框
P:
<s:param></s:param>-----为其他标签提供参数
<s:password></s:password>-----密码输入框
<s:property/>-----得到'value'的属性
<s:push value=""></s:push>-----value的值push到栈中,从而使property标签的能够获取value的属性
R:
<s:radio list=""></s:radio>-----单选按钮
<s:reset></s:reset>-----重置按钮
S:
<s:select list=""></s:select>-----单选框
<s:set name=""></s:set>-----赋予变量一个特定范围内的值
<s:sort comparator=""></s:sort>-----通过属性给list分类
<s:submit></s:submit>-----提交按钮
<s:password></s:password>-----密码输入框
<s:property/>-----得到'value'的属性
<s:push value=""></s:push>-----value的值push到栈中,从而使property标签的能够获取value的属性
R:
<s:radio list=""></s:radio>-----单选按钮
<s:reset></s:reset>-----重置按钮
S:
<s:select list=""></s:select>-----单选框
<s:set name=""></s:set>-----赋予变量一个特定范围内的值
<s:sort comparator=""></s:sort>-----通过属性给list分类
<s:submit></s:submit>-----提交按钮
<s:subset></s:subset>-----为遍历集合输出子集
T:
<s:tabbedPanel id=""></s:tabbedPanel>-----表格框
<s:table></s:table>-----表格
<s:text name=""></s:text>-----I18n文本信息
<s:textarea></s:textarea>-----文本域输入框
<s:textfield></s:textfield>-----文本输入框
<s:token></s:token>-----
<s:tree></s:tree>-----树
<s:treenode label=""></s:treenode>-----树的结构
U:
<s:updownselect list=""></s:updownselect>-----多选择框
<s:url></s:url>-----创建url
T:
<s:tabbedPanel id=""></s:tabbedPanel>-----表格框
<s:table></s:table>-----表格
<s:text name=""></s:text>-----I18n文本信息
<s:textarea></s:textarea>-----文本域输入框
<s:textfield></s:textfield>-----文本输入框
<s:token></s:token>-----
<s:tree></s:tree>-----树
<s:treenode label=""></s:treenode>-----树的结构
U:
<s:updownselect list=""></s:updownselect>-----多选择框
<s:url></s:url>-----创建url
optiontransferselect标签属性
名字 | 数据类型 | 默 认 值 | 说明 |
addAllToLeftLabel | String | “全部添加到左边”按钮的行标 | |
addAllToLeftOnclick | String | 按下“全部添加到左边”按钮时将被调用的Javascript函数 | |
addAllToRightLabel | String | “全部添加到右边”按钮的行标 | |
addAllToRightOnclick | String | 按下“全部添加到右边”按钮时将被调用的Javascript函数 | |
addToLeftLabel | String | “添加到左边”按钮的行标 | |
addToLeftOnclick | String | 按下“添加到左边”按钮时将被调用的Javascript函数 | |
addToRightLabel | String | “添加到右边”按钮的行标 | |
addToRightOnclick | String | 按下“添加到右边”按钮时 将被调用的Javascript函数 | |
allowAddAllToLeft | boolean | true | 是否激活“全部添加到左边”按钮 |
allowAddAllToRight | boolean | true | 是否激活“全部添加到右边”按钮 |
allowAddToLeft | boolean | true | 是否激活“添加到左边”按钮 |
allowAddToRight | boolean | true | 是否激活“添加到右边”按钮 |
allowSelectAll | boolean | true | 是否激活“全选”按钮 |
allowUpDownOnLeft | boolean | true | |
allowUpDownOnRight | boolean | true | 是否激活右侧select元素的“上下移动选项”按钮 |
buttonCssClass | String | 按钮的CSS类 | |
buttonCssStyle | String | 按钮的CSS样式 | |
doubleCssClass | String | ||
doubleCssStyle | String | 第二个选项列表的CSS样式 | |
doubleDisabled | boolean | false | 是否禁用第二个选项列表 |
doubleEmptyOption | boolean | false | 是否要在第二个选项列表里插入 一个空白选项 |
doubleHeaderKey | String | 第二个选项列表的标题的键 | |
doubleHeaderValue | String | 第二个选项列表的标题的键 | |
doubleId | String | 第二个选项列表的标识符 | |
doubleList* | String | 用来充当第二个选项列表的选 项来源的可遍历对象 | |
doubleListKey | String | 为第二个选项列表提供选项值的对象属性 | |
doubleListValue | String | 为第二个选项列表提供选项行标的对象属性 | |
doubleMultiple | boolean | false | 是否允许用户在第二个选项列表里进行“多选多”选择 |
doubleName* | String | 第二个组件的名字 | |
doubleSize | integer | 第二个选项列表的尺寸属性 | |
emptyOption | boolean | false | 是否要在第一个选项列表里插入一个空白选项 |
formName | String | 包含这个组件的表单的名字 | |
headerKey | String | 第一个选项列表里的标题的键 | |
headerValue | String | 第一个选项列表里的标题的值 | |
leftDownLabel | String | 左侧“下移”按钮上的文本 | |
leftTitle | String | 左侧select元素的名称 | |
leftUpLabel | String | 左侧“上移”按钮上的文本 | |
list* | String | 用来充当第一个选项列表的选项来源的可遍历对象 | |
listKey | String | 为第一个选项列表提供选项值的对象属性 | |
listValue | String | 为第一个选项列表提供选项行标的对象属性 | |
multiple | boolean | 是否允许用户在第一个选项列表里进行“多选多”选择 | |
rightDownLabel | String | 右侧“下移”按钮上的文本 | |
rightTitle | String | 右侧select元素的名称 | |
rightUpLabel | String | 右侧“上移”按钮上的文本 | |
selectAllLabel | String | “全选”按钮上的文本 | |
selectAllOnclick | String | 按下“全选”按钮时将被调用的Javascript函数 | |
size | integer | 在第一个select元素里需要显示的选项的个数 | |
updownOnLeftOnclick | String | 按下左侧的“上移/下移”按钮时将被调用的Javascript函数 | |
updownOnRightOnclick | String | 按下右侧的“上移/下移”按钮时将被调用的Javascript函数 | |
Struts2常用的Ajax标签
Struts2为了简化Ajax过程,提供了一些常用的Ajax标签,对于一些更复杂的Ajax通信过程,我们可以使用JSON插件来实现。
1,div标签
div标签在页面上生成一个div元素,但这个div元素的内容不是静态内容,而是从服务器获取的内容。必须为该div标签指定一个href属性,这个href属性必须是一个action,该action负责生成该div元素的内容。还可以指定该div标签生成的div元素以固定的频率来更新自身的内容,可以指定如下两个属性:
updateFreq:指定更新div的时间间隔,单位是ms,如果不指定,则只在页面加载时更新该div的内容。
delay:指定更新div内容的时间延迟,单位是ms,如果没有指定updateFreq属性,则该属性没有意义。
如果服务器包含了JavaScript代码,且希望在本页面内执行服务器响应的JavaScript代码,则可以为该div标签标签指定executeScripts="true"。
例子的页面代码如下:
<%@ page contentType="text/html;charset=GBK" language="java" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>远程Div</title>
<s:head theme="ajax"/>
</head>
<body>
<s:url id="rd" value="/random.action" />
仅一次获取服务器内容的Div<br>
<s:div id="div1"
theme="ajax"
cssStyle="border: 1px solid black;background-color:#dddddd;
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="%{rd}">
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>远程Div</title>
<s:head theme="ajax"/>
</head>
<body>
<s:url id="rd" value="/random.action" />
仅一次获取服务器内容的Div<br>
<s:div id="div1"
theme="ajax"
cssStyle="border: 1px solid black;background-color:#dddddd;
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="%{rd}">
初始化文本
</s:div>
动态更新内容的Div,每隔1s刷新一次(通过指定updateFreq="1000")<br>
使用indicator(通过指定indicator="indicator")<br>
<s:div id="div2"
theme="ajax"
cssStyle="border: 1px solid black;background-color:#dddddd;
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="%{rd}"
updateFreq="1000"
indicator="indicator">
初始化文本
</s:div>
<img id="indicator" src="${tPath}/images/indicator.gif" alt="Loa
</s:div>
动态更新内容的Div,每隔1s刷新一次(通过指定updateFreq="1000")<br>
使用indicator(通过指定indicator="indicator")<br>
<s:div id="div2"
theme="ajax"
cssStyle="border: 1px solid black;background-color:#dddddd;
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="%{rd}"
updateFreq="1000"
indicator="indicator">
初始化文本
</s:div>
<img id="indicator" src="${tPath}/images/indicator.gif" alt="Loa
ding" style="display:none"/><br>
3s之后才开始更新(通过指定delay="3000")<br>
指定与服务器交互出错的提示(通过指定errorText属性)<br>
指定与服务器交互过程中的提示(通过指定loadText属性)<br>
<s:div id="div3"
theme="ajax"
cssStyle="border: 1px solid black;background-color:#dddddd;
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="%{rd}" //使用变量来指定URL
updateFreq="1000"
delay="3000"
errorText="加载服务器数据出错"
loadingText="正在加载服务器内容">
初始化文本
</s:div>
3s之后才开始更新(通过指定delay="3000")<br>
指定与服务器交互出错的提示(通过指定errorText属性)<br>
指定与服务器交互过程中的提示(通过指定loadText属性)<br>
<s:div id="div3"
theme="ajax"
cssStyle="border: 1px solid black;background-color:#dddddd;
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="%{rd}" //使用变量来指定URL
updateFreq="1000"
delay="3000"
errorText="加载服务器数据出错"
loadingText="正在加载服务器内容">
初始化文本
</s:div>
指定显示系统出错提示(通过指定showErrorTransportText="true")<br>
<s:div id="div4"
theme="ajax"
cssStyle="border: 1px solid black;background-color:#dddddd;
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="/AjaxNoUrl.jsp"
updateFreq="1000"
showErrorTransportText="true"
loadingText="正在加载服务器内容">
初始化文本
</s:div>
执行服务器脚本(通过指定executeScripts="true")
<s:url id="test" value="/Test3.action" />
<s:div id="div5"
theme="ajax"
<s:div id="div4"
theme="ajax"
cssStyle="border: 1px solid black;background-color:#dddddd;
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="/AjaxNoUrl.jsp"
updateFreq="1000"
showErrorTransportText="true"
loadingText="正在加载服务器内容">
初始化文本
</s:div>
执行服务器脚本(通过指定executeScripts="true")
<s:url id="test" value="/Test3.action" />
<s:div id="div5"
theme="ajax"
cssStyle="border: 1px solid black;background-color:#dddddd;
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="%{test}"
updateFreq="9000"
executeScripts="true"
loadingText="正在加载服务器内容">
初始化文本
</s:div>
</body>
</html>
width:300px;height:40px;padding-top:8px;padding-left:20px"
href="%{test}"
updateFreq="9000"
executeScripts="true"
loadingText="正在加载服务器内容">
初始化文本
</s:div>
</body>
</html>
发布评论