struts配置文件简单说明:
namespace决定了action的访问路径,默认为"",可以接受所有路径的action
namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action,/xxx/index.action,或者/xxx/yyy/index.action.
namespace最好也用模块来进行命名。
对应的package最好最为一个模块。
reslut 默认的name是success
当action没有配置class属性是,默认执行的是xwork包下的ActionSupport类。
实现自己的action三种方法:
1.建立一个类,其中必须有 public String execute()方法。
2.建立一个类并实现Action接口。
3.建立一个类并继承ActionSupport。
实际路径与namespace路径不匹配,造成404,解决方案:
在jsp中加入:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
在<head>标签中加入:
<base href="<%=basePath%>">
意思是所有<a>标签链接加入了base的地址。
Action的配置
在Action标签中加入属性method标签可指定调用这个action时调用的方法,不写则调用execute。不推荐使用这种方式。
推荐使用动态方法调用(DMI),在访问的action名称后加上!与方法名:如user!add
使用通配符配置:通配符可以将配置最简化。
在action的name属性,可以加入通配符*,如
<action name="*_*" class="com.hs.{1}Action" method="{2}">
<result>/{1}_{2}_success.jsp</result>
</action>
当客户端访问
http://localhost:8080/项目名/Student_add 则匹配到这个action。
使用通配符,一定是约定优于配置。
Action接收参数
有三种方法:
1.在接收参数的Action里定义与参数同名的属性,并加入set/get方法。struts2是根据set/get方法设置值的,而不是直接往属性里写。
2.使用domainModel(域模型,就是实体),在接收参数的Action中定义一个实体,如private User user;并加入set/get方法。不需要new
User对象,struts会实例化这个对象。参数的写法就是 xxxx?user.name=aa&user.age=15。如果碰到如注册程序中的密码与再次输入密码,这
样的话最好使用DTO(数据传输对象)的形式,先传输到DTO中,经过一系列验证,再复制到model中,最后经数据库处理。
3.使用ModelDriven(模型驱动),让接收参数的Action实现ModelDriven接口,接口需要加入泛型,实现接口中getModel方法,在Action加入
领域模型的属性,如
public class TestAction extends ActionSupport implements ModelDriven<User> {
private User u=new User();
public User getModel() {
return u;
}
分享到:
相关推荐
### Struts2.1框架深度解析与学习指南 #### 搭建Struts2.1环境 Struts2是Apache组织开发的一个开源Web框架,它继承了Struts1的优良特性,同时在很多方面进行了改进,使其更加轻量级、灵活、强大。Struts2.1版本相...
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...
### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...
以上内容是Struts2学习笔记的概述,涵盖了Struts2的基础概念、发展历程、使用方法以及核心组件OGNL的介绍。深入学习Struts2将有助于提升Java Web开发能力,更好地理解和构建MVC架构的应用程序。
在深入探讨Struts2的学习笔记之前,先来理解它的核心概念。 **1. Struts2依赖的JAR包** Struts2的运行离不开一系列的依赖库,包括: - `struts2-core-2.1.6.jar`:这是Struts2的核心库,包含了Struts2框架的主要...
至于Struts2.0和Struts2.1的区别,虽然这里没有具体说明,但通常更新版本会修复已知问题,增加新功能,提高性能,并可能引入一些不向后兼容的变化。例如,从Struts2.0到Struts2.1可能会改进Action的生命周期,增强...
在探讨Struts2的学习心得之前,我们先来分析一下Struts2与Struts1之间的区别。 ##### 1.1 架构设计 - **Struts1**:采用MVC(Model-View-Controller)架构模式,其中控制器是由`ActionServlet`来实现的,该控制器...
本笔记将深入探讨Struts2的核心概念、发展历程、使用方法以及与OGNL(Object-Graph Navigation Language)的结合应用。 **一、Struts2概述** 1.1 为什么要用Struts 在Java Web开发中,Struts2作为MVC框架,能够...
### Struts2框架学习笔记整理 #### 一、Struts2框架概述 ##### 1.1 Struts2框架定义 Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的...
在本篇笔记中,我们将深入探讨Struts2的核心概念和使用方法。 **一、Struts2概述** 1.1 为什么要用Struts? 在传统的JSP开发中,模型与视图、控制器的职责混杂,导致代码维护困难。Struts2作为MVC框架,将业务逻辑...
这是从Struts2.1版本开始引入的,之前版本使用的是`FilterDispatcher`。过滤器映射通常设置为拦截所有请求,即`<url-pattern>/*</url-pattern>`,这样Struts2就能处理所有的HTTP请求。 接下来,笔记提到了Struts2的...
### Struts学习笔记 #### 一、Struts2框架简介 Struts2是一个开源的、用于开发Java EE Web应用程序的MVC框架。它基于Struts 1进行了改进,提供了更加强大和灵活的功能,比如拦截器、动态方法调用、类型转换等。...