struts.properties 放在src下 可免,通过struts.xml里面的constant元素配置
l 一些常用的属性:
struts.custom.properties :用户自定义属性文件,多个用逗号隔开
struts.devMode:是否处于开发模式,开发阶段可设true。
struts.i18n.reload:每次请求到达重新加载资源文件,开发阶段设true。
struts.ui.theme: 默认视图主题,默认为xhtml
struts.configuration.xml.reload :指定struts.xml改变后自动重新加载。默认false。
struts.custom.i18n.resources:指定struts2国际化资源文件。
struts.configuration.files:指定struts2默认加载的配置文件,该属性默认值为struts-default.xml,struts-plugin.xml,struts.xml
messageResource_language_COUNTRY.properties 与action同目录 本地化信息配置文件
XXXAcion-conversion.properties 与action同目录 局部类型转换器配置
aaaa(action中的属性名) = package.xxxconverter
xwork-conversion.properties src文件夹下 全局类型转换器配置
ttt(类型) = package.xxxConvertor
Element_xxx=xxxType 对于没有泛型支持的list,collection
actionname-validation.xml 和action同目录 action对应的验证配置,actionname 为action的类名
xwork-validation.xml 放在src下 全局验证
关于验证有一点需留意,默认拦截器栈, conversionError拦截器配置都在validation拦截器之前。所以,在进行验证之前,conversionError拦截器会先调用转换器对页面上的属性进行转换,若转换器中抛出错误,会通过conversionError拦截器直接把错误信息返回页面,所以也不会经过validation了。这样一来,validation配置里面的友好的提示信息就换成了异常里面编程人员才看得懂的message了,对于用户而言不太好。
实际上validation拦截器所做的是服务器端验证,它只对action里面的属性定义的类型起作用,比如在action中某属性attrib1是 int型的,那么像正则表达式之类针对string的验证器就不会起作用,这和客户端验证不同之处在于,客户端验证把所有类型的输入都看作string.
所以,页面输入的验证,现在可以有3道。
l 第一道是仍然基于javascript的客户端验证
这一道其实也可以通过转换器来识别,转换器最先读入时,仍然是String型,因此可以在转换过程中对格式进行验证。
l 第二道是转换器转换时的验证(其实是抛出转换异常,也可以当作输入格式上的验证)
这一道,默认的输出message比较不友好,不过可以通过在messageResource资源文件中配置这两个键值加入自己的信息:
1. Xwork.default.invalid.fieldvalue 默认类型转换失败信息
2. Xwork.fieldvalue.属性名 指定属性名的类型转换失败信息。
l 第三道是validation配置文件配置的服务器端验证。
这些验证类型名可以通过看xwork-x-x.jar中com.opensymphony.xwork2.validator.validators包内的default.xml看到
还是得强调下,服务器端验证主要关注的不是参数的格式,而是参数的实际内容,服务器端验证格式反而很不方便。
分享到:
相关推荐
3. **配置Struts2配置文件**:在struts.xml或struts.properties中,需要配置Action,指定文件上传的拦截器栈,通常包括`params`、`multiselect`和`fileUpload`拦截器。 4. **处理上传**:在Action的execute方法中,...
4. **创建配置文件**:在 `src` 目录下创建 `struts.xml` 配置文件,定义 Action、命名空间和结果页面。 5. **编写 Action 类**:创建对应的 Java 类,比如 `FirstAction`,实现 Action 接口,定义执行方法(`...
`web.xml`是Java Web应用程序的核心配置文件之一,主要用于定义Web应用程序的结构与行为。它是Servlet容器(如Tomcat)读取Web应用程序配置信息的主要来源,因此深入理解其配置项及其作用至关重要。 #### 二、web....
在Struts应用中,`struts.xml`是Struts配置文件,定义了Action、结果类型、拦截器等。 8. **Action与ActionForm**:在Struts框架中,Action是处理请求的对象,而ActionForm则用于封装请求参数和业务数据,两者协同...
- 配置Struts的核心配置文件`struts-config.xml`。 - 使用ActionForm类来处理表单数据。 - 编写Action类来处理用户的请求。 - 配置和使用JSP页面作为视图组件。 - 如何将业务逻辑和视图逻辑分离。 ### 三、其他重要...
根据所提供的课堂笔记摘要,文件上传的核心在于如何正确地设置表单的`enctype`属性,并且理解不同编码类型之间的差异。 1. **application/x-www-form-urlencoded**:这是默认的编码方式,它会将表单数据转换为URL...
在Struts2的配置文件(通常是struts.xml)中,你需要将自定义的拦截器添加到拦截器栈中,指定其执行顺序和其他拦截器的配合。例如: ```xml <!-- 其他拦截器 --> <!-- ... --> ``` 6. **前端...
控制器(Controller)由ActionServlet结合Struts配置文件组成;模型(Model)则由业务逻辑层实现。 2. **业务逻辑层**:完成系统的业务逻辑处理,为Web层提供所需的业务方法。这一层由JavaBean和Session EJB等业务...
- **配置Action和Forward**:展示了如何在Struts配置文件(struts-config.xml)中配置Action和Forward。 - **运行和测试第一个Struts应用**:给出了运行和测试前面创建的简单Struts应用的具体步骤。 - **使用Struts ...
Action和Result之间的映射可以通过配置文件或者注解进行定义。 2. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,它允许开发者插入自定义的处理逻辑在Action执行前后,如日志记录、权限验证等。这些拦截...
本文主要介绍了Struts2框架中的标签库,特别聚焦于非UI类型的标签,包括条件判断、迭代和国际化处理等。通过实例,详细解析了`if/elseif/else`、`iterator`以及`i18n`标签的使用方法,旨在帮助开发者更深入地理解和...
- **配置文件**:如struts-config.xml,定义了Action的映射关系和请求的处理方式。 - **JSP页面**:展示新闻列表、新闻详情,以及用户交互界面,如发布新闻表单。 - **DAO(Data Access Object)**:处理数据库...
5. **编写配置文件**:编写`struts-config.xml`文件,定义项目的各个组件及其配置信息。 6. **编写代码**:根据MVC模式编写ActionForm、Action以及视图层的JSP页面。 7. **部署项目**:将项目部署到服务器上,并进行...
- 修改Struts的配置文件,添加对应事件的映射信息。 - 实现Action类,确保`doXXX`方法符合Turbine的约定,并处理相应的业务逻辑。 7. **优势与应用**: - 事件映射机制让Struts的Action类更加模块化,便于代码...
- **struts-config.xml**:Struts专用的配置文件,用于配置ActionForm、Action映射等信息。 #### 基于Struts的考勤管理系统实现 在系统设计阶段,我们重点考虑了如何高效地利用Struts框架的各项特性来实现考勤管理...
12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例...1、 摘要 本文主要讲述了Struts(以Struts1.0.2为例)的工作原理...
配置文件`struts.xml`用于定义Action类及其关联的视图。此外,Struts2支持多种结果类型和拦截器,可以方便地进行权限控制、日志记录等操作。 接着,让我们探讨在线预览功能。百度文库的文档格式可能是PDF、DOC、PPT...
通过配置Hibernate的映射文件来定义对象与数据库表之间的关系。 #### 关键技术点 1. **MVC架构的应用**:通过将系统划分为多个层次,每个层次都有明确的责任划分,确保了代码的高度解耦合性,便于维护和扩展。 2...