在Struts2的UI标签可分为三类:表单标签、非表单标签、Ajax标签。
1、常用表单标签
标签 | 说明 |
<s:form>......</s:form> | 获取相应的form值 |
<s:textfield>......</s:textfield> | 文本输入框 |
<s:password>......</s:password> | 密码输入框 |
<s:textarea>......</.s:textarea> | 文本域输入框 |
<s:radio>......</s:radio> | 单选按钮 |
<s:checkbox>......</s:checkbox> | 复选框 |
<s:submit>......</s:submit> | 提交标签 |
<s:reset>......</s:reset> | 重置 |
<s:hidden>......</s:hidden> | 隐藏域标签 |
①<sx:div> 创建一个div区域,可以通过Ajax向其中加载内容,以实现局部刷新;
②<sx:submit> 通过Ajax来更新某个元素的内容或提交表单
③<sx:a> 通过Ajax更新某个元素的内容或提交表单
④<sx:tabbedPanel> 创建一个标签面板,由<sx:div>提供内容
⑤<sx:autocompleter> 根据用户输入提供输入建议,或者帮助用户自动完成输入
⑥<sx:tree> 创建一个支持Ajax的树形组件(Widget)
注:主要常用Ajax标签有<sx:div>、<sx:submit>、<sx:a>
3、<sx:div>标签属性列表
属性 | 说明 |
href | 异步请求的资源地址 |
cssClass | 指定div的Class属性 |
updateFreq | 自动更新div内容的时间间隔,以毫秒为单位 |
autoStart | 页面加载后是否启动定时器,默认为true |
delay | 第一个异步请求开始之前等待的时间,以毫秒为单位 |
executeScript | 执行服务器返回内容中的JavaScript代码,默认为false |
formId | 指定表单id,表单字段将被序列化并作为参数传递 |
indicator | 当请求正在处理时具有这个id的元素将被显示 |
loadText | 当请求正在处理时显示的文本 |
errorText | 当请求失败时显示的文本 |
属性 | 说明 |
href | 异步请求的资源地址 |
targets | 被更新的元素列表,以逗号分隔 |
formId | 指定表单id,表单字段将被序列化并作为参数传递 |
executeScript | 执行服务器端返回内容中的javascript代码,默认为 |
indicator | 当请求正在处理时具有这个id的元素将被显示 |
loadText | 当请求正在处理时显示的文本 |
errorText | 当请求失败时显示的文本 |
- struts.xml:Struts2的核心配置文件
Action配置:
①动态方法:actionName!methodName.action
②通配符:使用星号(*)表示0个或多个字符串
③默认Action:使用<default-action-ref/>
Result配置:
①常用结果类型:dispatcher类型、redirect类型、redirectAction类型
②动态结果:使用${attributeName}该Action中的属性,是实现动态结果配置
③全局结果:在<global-results>中嵌套<result>实现全局结果配置
- struts-plugin.xml: Structs2插件使用的配置文件
- struts-default.xml: Structs2的默认配置文件
6、Struts2拦截器:围绕着Action和Result的执行而执行的
7、Struts2自带拦截器:
- params拦截器:将请求中的数据设置到Action中的属性上
- servletConfig拦截器:将在配置文件中配置的参数注入到Action中对应的属性
- staticParams拦截器:将在配置文件中配置的参数注入到Action中对应的属性
- fileupload拦截器:将文件和元素数据从多重请求转换为常规的请求数据
- validation拦截器:执行数据验证
- workflow拦截器:当数据验证错误时,提供终止流程的功能
- exception拦截器:用于捕获异常
8、Struts2自定义拦截器:
- 实现Interceptor接口
- 继承Abstract Interceptor类