视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Struts2_struts.xml写法和用法例子_html/css_WEB-ITnose
2020-11-27 16:13:47 责编:小采
文档



"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">






18个字母 -->




<--这里不写 后面默认是result name="success"-->
/Hello.jsp






在web.xml中,通过


来指定默认主页
但是也可以去调用,通过struts2指定
-->

/default.jsp



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






添加学生
删除学生

不过,一定要遵守"约定优于配置"的原则

method="{1}">

/Student{1}_success.jsp


两个**号匹配一切,------------------------------


不过,一定要遵守"约定优于配置"的原则
添加老师
删除老师
添加课程
删除课程

method="{2}">

/{1}_{2}_success.jsp





添加用户

ModelDriven传值.默认是实现ModelDriven接口,实现getModel方法,
然后在uri传值中,就可以不用在封装数据,会自动封装到实体类中,这个要在类中实例化实体类对象
添加用户//封装到对象里面了,对象是谁new的?底层.....
--------------------------


method="{2}">

/{1}_{2}_success.jsp





地址栏不显示要跳转的**.jsp 是同一个栈,是同一个线程内局部变量





/r1.jsp


地址栏显示**.jsp 就是跳转页面,没有经过action


浏览器端的jsp
-->
/r2.jsp


链式跳转,chain指定的是r1 意思是跳转到另一个action的name为r1的那个跳转页面,再由r1action 跳转到指定页面,地址栏不会显示**,jsp 可以跳转到action中,也可以直接跳转到一个jsp页面,但是action可以传参,但是jsp页面不可以传参 action的内容保存在valuestack中 jsp中属性在actioncontext中保存




r1
/方法名
/包名
-->


先跳转到action的name为r2的,再有那个action跳转到指定页面,地址栏显示**.jsp
可以跳转到action中,也可以直接跳转到一个jsp页面,但是action可以传参,但是jsp页面不可以传参 action的内容保存在valuestack中 jsp中属性在actioncontext中保存



r2





-->


/admin.jsp





实体类中这样写
@Override
public String execute() throws Exception {
if(type == 1) r="/user_success.jsp";
else if (type == 2) r="/user_error.jsp";
return "success";
}

-->



${r}







/user_success.jsp?t=${type}

jsp中写法 :
//访问action(valuestack值栈)中的t属性,(访问不到)因为上面跳转的是jsp,没有action,就没有t属性
//访问jsp中(actioncontext(页面所有信息,相当于堆内存))的t属性,就能访问到

下载本文
显示全文
专题