method="{1}">
/Hello.jsp
在web.xml中,通过
来指定默认主页
但是也可以去调用,通过struts2指定
-->
F:\Step06_JavaEE\_01_Strust2\struts-2.3.24-all\struts-2.3.24\src\core\src\main\java\org\apache\struts2\dispatcher\mapper
这个类里面有相关源码
-->
我这里只管namespace,不管的别的,和action无关
-->
/404.jsp
/404.jsp
action调用add方法添加用户
调用第一种action方法
method="add">
/user_add_success.jsp
URL动态传参调用相关的方法执行
调用第二种action方法,user定位到类,!后面跟方法名
/user_add_success.jsp
添加学生
删除学生
不过,一定要遵守"约定优于配置"的原则
/Student{1}_success.jsp
两个**号匹配一切,------------------------------
不过,一定要遵守"约定优于配置"的原则
添加老师
删除老师
添加课程
删除课程
method="{2}">
/{1}_{2}_success.jsp
添加用户
ModelDriven传值.默认是实现ModelDriven接口,实现getModel方法,
然后在uri传值中,就可以不用在封装数据,会自动封装到实体类中,这个要在类中实例化实体类对象
添加用户//封装到对象里面了,对象是谁new的?底层.....
--------------------------
method="{2}">
/{1}_{2}_success.jsp
地址栏不显示要跳转的**.jsp 是同一个栈,是同一个线程内局部变量
地址栏显示**.jsp 就是跳转页面,没有经过action
浏览器端的jsp
-->
链式跳转,chain指定的是r1 意思是跳转到另一个action的name为r1的那个跳转页面,再由r1action 跳转到指定页面,地址栏不会显示**,jsp 可以跳转到action中,也可以直接跳转到一个jsp页面,但是action可以传参,但是jsp页面不可以传参 action的内容保存在valuestack中 jsp中属性在actioncontext中保存
/方法名
/包名
-->
先跳转到action的name为r2的,再有那个action跳转到指定页面,地址栏显示**.jsp
可以跳转到action中,也可以直接跳转到一个jsp页面,但是action可以传参,但是jsp页面不可以传参 action的内容保存在valuestack中 jsp中属性在actioncontext中保存
-->
实体类中这样写
@Override
public String execute() throws Exception {
if(type == 1) r="/user_success.jsp";
else if (type == 2) r="/user_error.jsp";
return "success";
}
-->
jsp中写法 :