Struts的标签库
来源:互联网 发布:linux怎么看硬盘空间 编辑:程序博客网 时间:2024/05/16 10:37
truts的标签库
OGNL -数据访问语言。
Stack Context(OGNL Context/Context Map/Action Context)
ValueStack
Stack Context中包含了ValueStack(根对象)。
控制标签:
if/elseif/else --模拟流程控制
iterator --模拟流程控制的迭代。
append/merge --把两个或N个已有的集合合并成新的集合。
generator --分割出集合。
sort --对集合元素排序,需要指定一个Comparator.
subset --截取子集合。
数据标签:
set --设置变量值。var指定变量名字,value指定变量值。scope指定范围。
bean --创建一个Bean对象,var指定对象的名(Stack Context)。name指定实现类。
debug --帮助调试。可以开发者观察ValueStack以及Stack Context中的数据。
i18n --为指定页面加载国际资源文件
text --输出国际化消息。也通过name指定国际化资源包的baseName。
property --输出表达式的值。通过value属性来指定表达式。
如果没有指定value属性,将直接输出ValueStack栈顶的值。
action --可以直接在页面上调用指定Action
var:指定将被调用Action放入Stack Context(官方文档是胡扯的)
executeResult:指定是否把被调Action的处理结果完包含到当前页面中
date --对日期进行格式化输出
name:指定要格式化输出的日期。
format:指定格式字符串。
include --用于包含指定的JSP页面。
param --用于设置参数
push --据表达式的值,放入ValueStack的栈顶。
当我们的对象所在对象图“很深”时,可以将该对象“推入”ValueStack栈顶。
直接获取桡顶元素,因此性能更好
UI标签
主题与模板
当我们在页面上使用s:textfield标签时,它生成两列布局中,并提供了label标签。
---因为Struts 2为所有标签都提供了一个模板。
每一个标签所表现出来的效果 ----由它对应的模板来决定。
如果为所有的标签都提供了模板,这系列的模板就组成了主题。
Struts 2默认提供了3个主题:
simple:没有额外的附加行为的主题。
xhmtl:这个是默认主题。
1.两列布局
2.生成label
3.自动输出类型转化,输入校验的错误提示。
4.客户端校验支持
css_xhtml:就是在xhtml增加了一些css样式。
如果有需要,我们也可以针对自己的项目开发自定义主题。
如何设置主题?
1.也可直接通过struts.ui.theme来设置默认的主题
2.通过page/request/sesssion/application范围
3.为标签设置theme属性。子标签默认使用父标签属性所设置的主题。
这些UI标签可指定cssClass,cssStyle,来指定css样式。
还可指定大量的onXxx属性,用于绑定JavaScript函数。
表单标签:
checkbox 只是生成复选框
head 引入一些辅助的css样式单的JS脚本。
file 生成一个文件上传域
form
hidden
label
password
reset
submit
textarea
textfield
checkboxlist/radio/select/optgroup
combobox ---生成一个文本框与列表框的组合
updownselect --它是一个增强版的select.
optiontransferselect ---它是两个updownselect的组合。
token --访刷新
默认情况下,如果没有进行防刷新控制,每次刷新都会添加一条完全相同的记录。
(1)需要在表单页面上增加<s:token/>标签。
(2)在action配置中增加一个token拦截器---这绘 检测用户是否刷新了页面。
当它检测用户刷新页面时,系统会返加一个invalid.token的逻辑视图。
actionerror/actionmessage ----它们体现的是Struts 2的消息机制。
当我们需要把Action中的一段文本,传入下一个页面显示进,
就可借助Struts 2的消息机制。
(1)Action中可通过addActionError()或addActionMessage()来添加消息。
(2)接下来就可以在下一个页面使用<s:actionerrro/>或<s:actopmessage/>输出消息。
fielderror: --输出类型转换失败、输入校验失败后的错误提示。
OGNL -数据访问语言。
Stack Context(OGNL Context/Context Map/Action Context)
ValueStack
Stack Context中包含了ValueStack(根对象)。
控制标签:
if/elseif/else --模拟流程控制
iterator --模拟流程控制的迭代。
append/merge --把两个或N个已有的集合合并成新的集合。
generator --分割出集合。
sort --对集合元素排序,需要指定一个Comparator.
subset --截取子集合。
数据标签:
set --设置变量值。var指定变量名字,value指定变量值。scope指定范围。
bean --创建一个Bean对象,var指定对象的名(Stack Context)。name指定实现类。
debug --帮助调试。可以开发者观察ValueStack以及Stack Context中的数据。
i18n --为指定页面加载国际资源文件
text --输出国际化消息。也通过name指定国际化资源包的baseName。
property --输出表达式的值。通过value属性来指定表达式。
如果没有指定value属性,将直接输出ValueStack栈顶的值。
action --可以直接在页面上调用指定Action
可以直接在页面上把Action的外理结果包含到本页面中。
name和namespace确定调用哪个Actionvar:指定将被调用Action放入Stack Context(官方文档是胡扯的)
executeResult:指定是否把被调Action的处理结果完包含到当前页面中
ignoreContextParams:控制当前页面请求参数,是否传入被用的Action
这个标签的功能是比较有用的:假如我们进入一个添加用户的页面:
用户名:????
密码:????
性别:下拉列表 <s:action var="genders" name="listGender">
学历:下拉列表 -来自系统的数据库中数据 <s:action var="jiguans" name="listJiguan">
date --对日期进行格式化输出
name:指定要格式化输出的日期。
format:指定格式字符串。
include --用于包含指定的JSP页面。
param --用于设置参数
push --据表达式的值,放入ValueStack的栈顶。
当我们的对象所在对象图“很深”时,可以将该对象“推入”ValueStack栈顶。
直接获取桡顶元素,因此性能更好
UI标签
主题与模板
当我们在页面上使用s:textfield标签时,它生成两列布局中,并提供了label标签。
---因为Struts 2为所有标签都提供了一个模板。
每一个标签所表现出来的效果 ----由它对应的模板来决定。
如果为所有的标签都提供了模板,这系列的模板就组成了主题。
Struts 2默认提供了3个主题:
simple:没有额外的附加行为的主题。
xhmtl:这个是默认主题。
1.两列布局
2.生成label
3.自动输出类型转化,输入校验的错误提示。
4.客户端校验支持
css_xhtml:就是在xhtml增加了一些css样式。
如果有需要,我们也可以针对自己的项目开发自定义主题。
如何设置主题?
1.也可直接通过struts.ui.theme来设置默认的主题
2.通过page/request/sesssion/application范围
3.为标签设置theme属性。子标签默认使用父标签属性所设置的主题。
这些UI标签可指定cssClass,cssStyle,来指定css样式。
还可指定大量的onXxx属性,用于绑定JavaScript函数。
表单标签:
checkbox 只是生成复选框
head 引入一些辅助的css样式单的JS脚本。
file 生成一个文件上传域
form
hidden
label
password
reset
submit
textarea
textfield
checkboxlist/radio/select/optgroup
combobox ---生成一个文本框与列表框的组合
updownselect --它是一个增强版的select.
optiontransferselect ---它是两个updownselect的组合。
doubleselect --它也是两个列表框,而且有级联效果。
避免两列部局的方式:
<s:form action=""> <s:textfield name="username" label="用户名"></s:textfield> <s:password name="pass" label="密码"></s:password> <s:checkbox name="married" label="是否已婚"></s:checkbox> <tr align="center"> <td colspan="2"> <s:submit value="提交" theme="simple"></s:submit> <s:reset value="重置" theme="simple"></s:reset> </td> </tr> </s:form>
token --访刷新
默认情况下,如果没有进行防刷新控制,每次刷新都会添加一条完全相同的记录。
(1)需要在表单页面上增加<s:token/>标签。
(2)在action配置中增加一个token拦截器---这绘 检测用户是否刷新了页面。
当它检测用户刷新页面时,系统会返加一个invalid.token的逻辑视图。
(3)还需要为invalid.token的逻辑视图配置一个物理视图资源。
<?xml version="1.0" encoding="GBK" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><constant name="struts.devMode" value="true"></constant> <package name="default" extends="struts-default"> <action name="addAction" class="pers.zkr.action.UserAddAction"> <interceptor-ref name="token"></interceptor-ref> <!-- 下面这是Struts 2默认的拦截器 --> <interceptor-ref name="defaultStack"></interceptor-ref> <!--这个是拦截器返回的的视图 --> <result name="invalid.token">/WEB-INF/content/refresh.jsp</result><result type="chain">show</result></action><action name="show" class="pers.zkr.action.ShowAction"><result>/WEB-INF/content/showlist.jsp</result></action><action name="*"><!--这里其实也有一个拦截器,只是在没有配置其它的拦截器的时候的,不用添加 --><result>/WEB-INF/content/{1}.jsp</result></action></package></struts>非表单标签
actionerror/actionmessage ----它们体现的是Struts 2的消息机制。
当我们需要把Action中的一段文本,传入下一个页面显示进,
就可借助Struts 2的消息机制。
(1)Action中可通过addActionError()或addActionMessage()来添加消息。
(2)接下来就可以在下一个页面使用<s:actionerrro/>或<s:actopmessage/>输出消息。
fielderror: --输出类型转换失败、输入校验失败后的错误提示。
0 0
- struts的标签库
- Struts的标签库
- Struts的标签库
- Struts的五个标签库
- Struts的标签库声明
- struts标签库的导入
- struts 2的标签库
- struts 的标签库讲解
- Struts的bean标签库
- struts的html标签库
- struts的logic标签库
- 【Struts】Struts标签库
- Struts 的标签库 Struts bean write 输出 格式化 标签
- Struts标签库详解,非常好的Struts标签详解(转载
- Struts标签库详解,非常好的Struts标签详解
- Struts标签库详解,非常好的Struts标签详解
- 使用Struts提供的HTML标签库
- 使用Struts提供的HTML标签库
- Android NDK编程浅入深出之--Android.mk(2)
- MySQL免安装版的配置
- jQuery源码分析之appendTo,prependTo,insertBefore,insertAfter,replaceWith函数
- 线性表的链式存储结构
- 面试题:java GC是在什么时候,对什么东西,做了什么事情?
- Struts的标签库
- UIButton 按键
- 很用的JAVA工具类
- android应用打包成为安装包(常会出现的问题)
- ios获取系统时间
- operator运算符重载
- Python开发环境配置(Windows)
- java.sql.date与java.util.date,认识java.sql包(2015年10月9日)
- Android NDK编程浅入深出之--Android.mk(3)