Struts2(三)

2017-10-20  本文已影响15人  贾里

1.输入校验


1).需求

Paste_Image.png

2).输入校验(对用户输入的数据做合法的判断):

3).Struts2校验方式:

4).在Action中如何做校验:

方法:

步骤如下:

Paste_Image.png Paste_Image.png

5).出现的问题

在validation和workflow拦截器中配置了excludeMethods参数.告诉拦截器,要忽略方法名称为:input,back,cancel,browse的方法.

Paste_Image.png

在workflow拦截器中,默认跳转视图就是input(看下图).

Paste_Image.png

在不需要校验的方法之上,使用标签:@SkipValidation.

Paste_Image.png

使用标签:@InputConfig(resultName="edit"),注意该注解贴在被校验方法之上,而不是校验方法.

2.Struts2国际化


1).准备国际化资源文件:基本名词:app

中文:app_zh_CN.properties

英文:app_en_US.properties

2).告诉Struts2框架:国际化资源文件叫什么名字.

<constant name="struts.custom.i18n.resources" value="app"/>

3).准备国际化的login.jsp

在JSP中,获取指定的国际化信息:(先引入Struts2的标签库)
<s:text name="资源文件中的key"/>

Paste_Image.png

4).若要让Action支持国际化,那么Action必须继承ActionSupport或者ActionSupport的子类.

5).在Action中获取资源信息:

通过ActionSupport类中的:
String getText(String name,String[] args);

参数:

名字 意义
name 表示资源文件中的key
args 资源文件中指定key占位符的真实值.

返回:拼接好的一个国际化信息.

Paste_Image.png

3.文件上传


1).文件上传准备:

2).注意:

 1):表单必须使用POST方式提交;
 2):使用二进制编码.multipart/form-data
 3):<input type="file" name=""/>
Paste_Image.png Paste_Image.png

3).default.properties

struts.multipart.parser=jakarta : 设置在Struts2中使用哪一种上传组件

struts.multipart.saveDir= : 设置临时文件的保存路径(不要设置),默认就在Tomcat下.

struts.multipart.maxSize=2097152 : 设置一次请求的最大值,单位字节. 默认是2M

4).异常处理:

Paste_Image.png

4.文件下载


struts2提供了stream结果类型,该结果类型就是专门用于支持文件下载功能的。
(阅读stream结果集代码)
指定stream结果类型 需要指定一个 inputName参数,该参数指定一个输入流,提供被下载文件的入口

Paste_Image.png

5.Struts标签


表单标签将在 HTML 文档里被呈现为一个表单元素

1).使用表单标签的优点:

表单回显
对页面进行布局和排版

2).引用标签库:

<%@ taglib uri="/struts-tags" prefix="s"%>

3).Struts2标签:

Paste_Image.png Paste_Image.png

通用标签:

1):控制流程标签:if-else if-else.

Paste_Image.png

2):其他的标签:默认会带上上下文路径和action的拓展名.

Paste_Image.png Paste_Image.png Paste_Image.png

6.Struts+JDBC的CRUD


上一篇 下一篇

猜你喜欢

热点阅读