一、什么是Struts
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。
二、入门
1. 环境搭建
1.1 jar
1.2 web.xml
1.3 struts.xml / struts-sy.xml / struts-base.xml
struts.xml(核心配置文件) ..........这些配置文件可以在导入的jar包中参考Struts-2.5.dtd
解说struts.xm:
include 包含文件
file
在struts-base.xml 有两个constant 很重要:
<!--方便开发调试 -->
<constant name="struts.devMode" value="true" />
<!--动态方法调用 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!-- 抽象包 一般定义是为了被继承 -->package
解说struts-sy.xml:
package 包
name 包名 给package包取个名字 和namespace同名****
extends 继承
namespace 虚拟路径 ,在内存中划分具体的空间 ***
<!-- action分在了命名空间上,所以路径要加上/sy,否则会找不到action -->*
abstract 通常用来被继承
action 子控制器
name:helloAction,helloAction_* helloAction_* 代表所有方法都可以用
class 全限定名
method:execute,{1} method不写,默认跳execute方法
2.不需要指定父类ActionSupport 直接写public String xxx(execute){}方法
3./**
* 后台子控制器获取jsp所传递的参数的几种形式
* 1、实现ModelDriven接口 implements ModelDriven<Cal>
* 2、通过set/get方法获取jsp页面的值
* 3、通过对象导航的方式获取jsp页面的值
* 后台子控制器向jsp传递结果的几种形式
* 1、通过传统的作用域传值(与j2ee容器交互)
* 就是需要获取到四大作用域(request,session,application,pageContext)即可
* 2、通过值栈传值
* 只需要在子控制器提供set/get方法即可实现传值的功能(calAction)
*/
与j2ee容器交互方式
1非注入
1.1耦合 ServletActionContext
1.2 解耦(建立使用解耦模式) ActionContext
2 注入
2.1 耦合 implements ServletRequestAware,ServletResponseAware 2.2 解耦
配置文件有时候会没有提示,以下是解决的方法:
在导入的Struts2-core-2.5.16 jar包中寻找Struts-2.5.dtd ,将dtd放到本地,在preference-->xml Catalog-->Add-->File System -->Key type 选择URl -->key 填上 http://struts.apache.org/dtds/struts-2.5.dtd ,最后 在项目右键Validate校验以下就ok了。
今日的学习还ok哦,明天再再接再厉!!!