Struts的简单应用
来源:互联网 发布:长沙学历网络教育报考 编辑:程序博客网 时间:2024/05/18 06:05
1、struts.xml文件
struts.xml需要存放在WEB-INF/classes下,模板如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts></struts>
Struts.xml是 Struts 2 的核心配置文件,主要用于配置开发人员编写的action。
2、web.xml文件
在Struts 2中,Struts框架是通过Filter启动的,他在web.xml中的配置如下:
<!-- 配置Struts2 核心 Filter --> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件
struts.xml完成初始化操作。
注意:struts 2 读取到 struts.xml的内容后,以javabean形式存放在内存中,以后Struts 2对用户
的每一次请求处理将使用内存中的数据。
Filter 过滤器是用户请求和处理程序之间的一层处理程序。它可以对用户请求和处理程序响应的类容进行处理,通常用于权限、编码
转换等场合。
3、ActionSupport 类
ActionSupport 类为 Action 提供了一些默认实现,主要包括预定义常量、从资源文件中取文本资源、接收验证错误信息和验证的默认实现。
Struts 2 数据验证及验证框架的应用:
1、数据校验
Action 继承了 ActionSupport 类 ,而该类实现了 Action 、Validateable 、 ValidationAware 、TextProvider、LocaleProvider
Serializable 接口。
在Validateable 接口定义了一个 validate() 方法 , 在用户自定义 Action 类中重写该方法就可以实现 验证功能。
public class LoginAction extends ActionSupport{ private String username ; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } @Override public String execute() throws Exception { // TODO Auto-generated method stub if ( ! username.equals("HelloWorld")) { Map request = (Map) ActionContext.getContext().get("request") ; request.put("name", getUsername()) ; return SUCCESS; } else return ERROR ; } public void validate() { //如果名字为空,则把错误信息天骄的Action类的fileError if (this.getUsername() == null || this.getUsername().trim().equals("")) { addFieldError("username" , "名字不能为空") ; } } }
在类中定义了校验方法后,该方法会执行系统的 execute() 方法之前执行。如果执行该方法后,Action类的fieldError中已经包含了数据校验错误信息,
将把请求转发到input逻辑视图处,所以在 Action配置中也要配置一下。
<action name = "LoginAction" class = "com.cnblogs.jbelial.login.LoginAction" > <!-- 定义3个逻辑视图和物理资源之间的映射 --> <result name = "input">/login.jsp</result> <result name = "error">/error.jsp</result> <result name = "success">/main.jsp</result> </action>
注意:
result中的name属性有下:
1、success : 表示请求处理成功,该值也是默认值。
2、error :表示请求处理失败。
3、none :表示请求处理完成后不跳转到任何页面。
4、input :表示输入时如果验证失败应该跳转到什么地方。
5、login :表示登录失败后跳转的目标。
- Struts的简单应用
- nanocontainer-struts 的简单应用
- 简单的Struts应用开发
- Struts的DispatchAction简单应用
- struts 2.0的简单应用
- Struts验证框架的简单应用
- Eclipse+Struts+Hibernate的简单应用
- Struts中应用Struts-menu的简单例子
- Struts中应用Struts-menu的简单例子
- Struts框架简单应用
- 应用struts的validator验证的一个简单实例
- 简单struts应用执行流程
- ssh(struts+spring+hibernate)实现简单的插件化应用
- Struts框架的简单应用到用户登录
- 最简单的Struts程序(4)---Struts应用的国际化
- 最简单的Struts程序(4)---Struts应用的国际化(参考孙卫琴的struts一书)
- struts应用的国际化
- Struts应用的国际化
- Qt入门视频教程(录制中。。。)提出你宝贵的建议吧
- 数论笔记本
- Spark系列修炼---入门笔记19
- 趣味CSS3(二)--旋转的立方体
- VLC二--H264/AVC中CAVLC的FFmpeg实现
- Struts的简单应用
- 【BZOJ 1014】 [ZJOI2008]骑士 树形dp
- 基本的JVM内存分配过程案例
- 谈谈Unity对于手柄的支持
- 代码设置Dialog的进入和退出动画
- setsockopt()函数笔记
- oracle set运算符
- H5之12__触摸与单击:基本的事件处理
- Mobile phones POJ1195(二维树状数组模板题)