1,webWork中使用的一种通用模式:一个可选的接口,一个适用于这个接口的interception
关于validationAware:
只有把DefaultWorkFlowInterception应用于你的action时,validation自动错误验证的威力才能显现出来,在这里DefaultWorkFlowInterception做的工作是:
(1)如果action实现了Validation接口,则调用action的validation()方法;
(2)如果校验action出错,返回INPUT,否则执行action
关于Local
1.用于显示action信息文本的property文件被放到同名的action类所在包中,
例:
*.property文件中有
- user.exists=the user already exists
使用:
- public void validate(){
- .....
- addFieldError("user.username",getText("user.exists"));
- ........
- }
使用ModelDriven action
要使用这个必须做以下几步
(1)你的action实现ModelDriven这个接口
(2)用getModel()方法取代getUser()
(3)在jsp中不用通过use.*来访问域对象的值,直接用属性就可以访问
用种方法的时候应该注意一点,不应该在请求过程中改变getModel()返回的值,也就是说在execute()方法中不应该再把指向getModel()返回对象的引用,指向别的对象
通过ActionContext返回数据
通过调用ActionContext.getContext()可以返回一个ActionContext的实例对象,这个对象是ThreadLocal的,然后可以用这个实例去调用它的一些方法,如:getSession()之类的,书上用这种方法来访问session不好,应该用别一种方法(如下)
如果要用到session的话,让你的action实现SessionAware这个接口,例:
- public class Login extends ActionSupport implements com.opensymphony.webwork.interceptor.SessionAware,UserDAOAare{
- Map session;
- User user;
- public void setSession(Map session)
- {
- this.session=session;
- }
- publin String execute() throws Exception {
- session.*
- }
-
- }
访问request和response
也是有两种方法:
(1)
- HttpServletRequest req=ServletActionContext.getRequest();
(2)实现ServletRequestAware接口
分享到:
相关推荐
**WebWork 学习笔记(全)** WebWork 是一个基于 Java 的开源MVC(Model-View-Controller)框架,它旨在简化企业级Web应用程序的开发。本教程将全面介绍WebWork的核心概念、架构和使用方法。 **WebWork 介绍** ...
### WebWork学习笔记知识点 #### 一、WebWork框架简介 - **定义**: WebWork是一个由OpenSymphony组织开发的MVC(Model-View-Controller)框架,专注于组件化和代码重用,适用于J2EE应用程序开发。 - **最新版本**:...
- 允许使用 POJO (Plain Old Java Object) 作为 Action 类,使得 Action 更易于测试。 - 支持多种视图技术,如 JSP、FreeMarker、Velocity 等。 - 基于 Spring AOP 思想的拦截器机制,易于扩展和定制。 - 强大的...
4. **插件和社区支持**:Struts2拥有更多的第三方插件和活跃的社区,扩展性更好。 学习Struts1和Struts2,不仅能够掌握MVC框架的基本原理,还能为理解其他Java Web框架打下基础。结合实例,逐步了解和实践,将有助...
### Struts2培训笔记 #### 一、Struts2简介 **MVC框架**:Struts2是一个基于Java的企业级Web应用开发框架,遵循MVC(Model-View-Controller)设计模式。 - **M(Model)**:业务逻辑处理部分,通常指与数据库交互...
Struts2的核心是基于WebWork框架,并且大量采用了拦截器技术,使得业务逻辑控制器能够更好地与Servlet API相分离。 **Struts2的特点**: - **灵活性**:Struts2支持多种类型的Action,包括普通的Java类。 - **可...
#### 第四步:配置struts.xml 创建`struts.xml`文件,该文件用于定义应用程序的行为,包括Action的配置和结果集的设置。 #### 第五步:编写HelloAction 创建一个简单的`HelloAction`类,类似于之前的Servlet,...
Struts2是一个由权威人士精心整理的MVC框架,它源于Struts1和Webwork框架的融合,虽然沿用了Struts1的名字,但核心却是Webwork。这个框架的主要目标是提高Web开发的效率,通过提供一个半成品的架构来简化开发流程。 ...
Struts2继承了Struts1的名称,但实际上它的核心是WebWork框架,因此与Struts1在架构上有显著差异。Struts2解决了Struts1的一些缺点,提供了更强大的功能和更好的灵活性。 Struts2的主要任务包括处理HTTP请求,将...