- 浏览: 188229 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (321)
- eclipse (4)
- idea (2)
- Html (8)
- Css (14)
- Javascript (8)
- Jquery (6)
- Ajax Json (4)
- Bootstrap (0)
- EasyUI (0)
- Layui (0)
- 数据结构 (0)
- Java (46)
- DesPattern (24)
- Algorithm (2)
- Jdbc (8)
- Jsp servlet (13)
- Struts2 (17)
- Hibernate (11)
- Spring (5)
- S2SH (1)
- SpringMVC (4)
- SpringBoot (11)
- WebService CXF (4)
- Poi (2)
- JFreeChart (0)
- Shiro (6)
- Lucene (5)
- ElasticSearch (0)
- JMS ActiveMQ (3)
- HttpClient (5)
- Activiti (0)
- SpringCloud (11)
- Dubbo (6)
- Docker (0)
- MySQL (27)
- Oracle (18)
- Redis (5)
- Mybatis (11)
- SSM (1)
- CentOS (10)
- Ant (2)
- Maven (4)
- Log4j (7)
- XML (5)
最新评论
1. struts2属性驱动与模型驱动
1) 属性驱动(FieldDriven)
1.1) 基本数据类型属性
1.2) JavaBean类型属性
2) 模型驱动(ModelDriven)
user.java package com.andrew.model; public class User { private String userName; private String password; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } UserService.java package com.andrew.service; import com.andrew.model.User; public class UserService { public boolean login(User user) { if ("andrew".equals(user.getUserName()) && "123456".equals(user.getPassword())) { return true; } else { return false; } } } success.jsp 登录成功! error.jsp 登录失败!
1) 属性驱动(FieldDriven)
1.1) 基本数据类型属性
UserAction.java package com.andrew.action; import com.andrew.model.User; import com.andrew.service.UserService; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport { private UserService userService = new UserService(); private String userName; private String password; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String execute() throws Exception { System.out.println("执行了UserAction的默认方法"); User user = new User(); user.setUserName(userName); user.setPassword(password); if (userService.login(user)) { return SUCCESS; } else { return ERROR; } } } struts.xml <action name="user" class="com.andrew.action.UserAction"> <result name="success">success.jsp</result> <result name="error">error.jsp</result> </action> login.jsp <form action="user" method="post"> 用户名:<input type="text" name="userName"/> 密码:<input type="text" name="password"/> <input type="submit" value="登录"/> </form> http://localhost:8080/HeadFirstStruts2Chap02/login.jsp abc 123 submit 运行结果: 登录失败! 控制台: 执行了UserAction的默认方法 andrew 123456 submit 运行结果: 登录成功! 控制台: 执行了UserAction的默认方法
1.2) JavaBean类型属性
UserAction2.java package com.andrew.action; import com.andrew.model.User; import com.andrew.service.UserService; import com.opensymphony.xwork2.ActionSupport; public class UserAction2 extends ActionSupport { private UserService userService = new UserService(); private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Override public String execute() throws Exception { System.out.println("执行了UserAction2的默认方法"); if (userService.login(user)) { return SUCCESS; } else { return ERROR; } } } struts.xml <action name="user2" class="com.andrew.action.UserAction2"> <result name="success">success.jsp</result> <result name="error">error.jsp</result> </action> login2.jsp <form action="user2" method="post"> 用户名:<input type="text" name="user.userName"/> 密码:<input type="text" name="user.password"/> <input type="submit" value="登录"/> </form> http://localhost:8080/HeadFirstStruts2Chap02/login2.jsp abc 123 submit 运行结果: 登录失败! 控制台: 执行了UserAction2的默认方法 andrew 123456 submit 运行结果: 登录成功! 控制台: 执行了UserAction2的默认方法
2) 模型驱动(ModelDriven)
现实接口 implements ModelDriven<xxx> UserAction3.java package com.andrew.action; import com.andrew.model.User; import com.andrew.service.UserService; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.ModelDriven; public class UserAction3 extends ActionSupport implements ModelDriven<User> { private UserService userService = new UserService(); private User user = new User(); @Override public String execute() throws Exception { System.out.println("执行了UserAction3的默认方法"); if (userService.login(user)) { return SUCCESS; } else { return ERROR; } } public User getModel() { return user; } } struts.xml <action name="user3" class="com.andrew.action.UserAction3"> <result name="success">success.jsp</result> <result name="error">error.jsp</result> </action> login3.jsp <form action="user3" method="post"> 用户名:<input type="text" name="userName"/> 密码:<input type="text" name="password"/> <input type="submit" value="登录"/> </form> http://localhost:8080/HeadFirstStruts2Chap02/login3.jsp abc 123 submit 运行结果: 登录失败! 控制台: 执行了UserAction3的默认方法 andrew 123456 submit 运行结果: 登录成功! 控制台: 执行了UserAction3的默认方法
发表评论
-
struts2防重复提交
2019-01-14 08:55 3541. struts2防重复提交 Student.java ... -
struts2文件上传和下载
2019-01-12 16:10 3101. struts2文件上传和下载 1) Struts2 ... -
struts2验证框架
2019-01-12 16:10 4141. struts2验证框架 Struts2基于Stru ... -
struts2国际化
2019-01-12 16:10 3961. struts2国际化 网上转码: http://too ... -
struts2标签
2019-01-12 16:10 4481. struts2标签 Struts2自己封装 ... -
struts2值栈与OGNL
2019-01-12 16:10 4531. struts2值栈简介 值栈是对应每个请求对象的一 ... -
struts2拦截器
2019-01-11 09:07 3481. struts2拦截器简介 拦截器简介 Strut ... -
struts2配置result
2019-01-11 09:07 4371. struts2配置result 新建项目HeadF ... -
struts2分模块与action生命周期
2019-01-11 09:07 3531. 分模块 struts.xml <inclu ... -
struts2使用通配符与动态方法调用
2019-01-11 09:06 3891. 使用通配符 新建项目HeadFirstStruts ... -
struts2配置struts.xml
2019-01-11 09:06 3891. struts2配置struts.xml 1 ... -
struts2处理传入多个值
2019-01-10 09:17 3981. struts2处理传入多个值 新建项目HeadFi ... -
struts2引入ActionSupport
2019-01-10 09:16 4201. struts2引入ActionSupport He ... -
struts2自动获取设置数据
2019-01-10 09:16 3991. struts2自动获取设置数据 新建项目HeadF ... -
struts2简介
2019-01-10 09:16 4631. struts2简介 官网:http://struts. ... -
Java struts2 Jar包
2018-09-03 19:17 6691. Java struts2 Jar包下载地址 http: ...
相关推荐
jQuery EasyUI与Struts2 的整合—属性驱动篇 如果你是用模型驱动,或者是直接把属性写在action里面,你不会碰到我遇到的那么多问题。 但是你用模型驱动好吗,如果一个页面需要处理多个对象的时候怎么办。 如果你...
5. **模型驱动(ModelDriven)**:Struts2提供了一种模型驱动的方式,将Action与业务模型对象绑定,简化了数据处理。 6. **值栈(Value Stack)**:值栈是Struts2用来存储Action和表单属性的地方。它使得视图层可以...
在Struts2中,模型驱动模式是一种设计模式,它将业务逻辑(模型)与视图和控制器分离。模型对象负责处理业务逻辑,而控制器(如Struts2的动作类)则处理用户请求并调用模型进行处理。这种模式有助于提高代码的复用性...
Struts2.0属性转换器(Converters)是框架中一个关键组件,它负责将用户输入的数据转换为Java对象的属性类型,确保数据在表单提交后能够正确地绑定到模型对象上。转换器机制的存在使得开发者可以自定义数据类型转换...
本文将深入探讨Struts2的属性驱动和模型驱动的区别,以及如何防止表单的重复提交,并讲解如何在表单中正确显示验证信息。 ### 属性驱动与模型驱动 **属性驱动**(Property Driven)是Struts2中的一种常见做法,它...
Struts 1.2驱动包是Apache软件基金会开发的一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。它旨在提供一个结构化的、可扩展的平台,帮助开发者构建更易于维护和管理的Web应用。Struts 1.2...
5. **模型驱动**:除了Action类,Struts2还支持模型驱动模式,即直接将用户的输入数据绑定到一个模型对象上,而不是Action类。这样可以使Action类更加专注于业务逻辑,而模型对象则负责数据处理。 6. **Interceptor...
**六.Struts2的属性驱动和模型驱动** 1. **属性驱动**:Action类中的字段直接对应请求参数,Struts2自动将请求参数值填充到Action字段。 2. **模型驱动**:使用一个公共对象作为模型,Action类持有这个模型的引用,...
Struts2是一个强大的Java web应用程序开发框架,它基于Model-View-Controller(MVC)设计模式,旨在简化创建用户交互式、数据驱动的web应用的过程。这个“Struts2接口文档”是开发者的重要参考资料,提供了关于...
Struts2与Spring的整合使得业务对象可以直接由Spring管理,提高了代码的可测试性。 **Hibernate框架**:Hibernate是Java领域最流行的ORM工具之一。它通过映射文件或注解将Java实体类与数据库表关联,简化了数据库...
5. **模型驱动(ModelDriven)**:这是一种简化Action类设计的方式,允许Action类仅关注业务逻辑,而将模型对象的管理交给框架。 6. **值栈(Value Stack)**:值栈是Struts2中的一个核心组件,它存储了请求中的...
本文将探讨Struts2的配置文件、Action、请求处理、结果映射、属性驱动和模型驱动,以及异常处理机制。 首先,我们来看Struts2的配置文件,主要是struts.xml。这个文件是Struts2应用的核心配置,用于定义Action、...
Struts2中的模型驱动模式允许将Action与业务对象直接关联,使得Action可以直接操作这些对象。值栈是Struts2中的一种数据管理机制,它存储Action、结果和其他对象,方便在Action之间共享数据。 **5.拦截器...
在这个“Struts驱动包”中,包含了Struts 1.2.9版本的必要组件,以及一个空项目,可以作为学习或快速启动新项目的基础。 1. **Struts框架核心组件**: - `struts-core.jar`:这是Struts框架的核心库,包含Action...
此外,Struts2支持模型驱动特性,允许使用现有的业务对象作为输入/输出对象,减少了代码冗余并提高了代码复用性。 #### 6. 表达式语言的改进 - **Struts1**: Struts1集成了JSTL,使用JSTL的表达式语言(EL),支持...
本篇文章将深入探讨Struts2中的三个关键概念:命名空间、模型驱动以及表单重复提交的处理,这些都是在实际开发中必不可少的知识点。 **命名空间(Namespace)** 命名空间在Struts2中扮演着路由和隔离的作用。它可以...
教程通常以实例驱动,让学习者通过实际操作来掌握Struts2。 在学习过程中,你将了解到Struts2如何通过Action类处理用户请求,以及如何通过配置文件或注解来定义Action的映射。拦截器是Struts2的一个重要特性,它们...
- Struts2与Dojo、jQuery等JavaScript库集成良好,方便实现异步交互。 10. **测试支持**: - Struts2提供了测试框架,如Struts2 TestNG Plugin,便于进行单元测试和集成测试。 学习并掌握Struts2框架,对于理解...
模型驱动模式是Struts2的一种设计模式,它将Action实例作为模型,自动将请求参数绑定到Action的属性上。这简化了Action类的编写,减少了手动设置属性的代码,同时提高了代码的可复用性和可维护性。 五、数据校验 ...