跳转分为很多种实现方式,基本方式有两种:
1,跳转到主机虚拟目录下的某一个页面或action.例如调用request.Forward方法跳转。这种跳转可以同享一个会话session数据。当然也可以同享一次请求的数据信息;
2.教浏览器跳转,可以用js实现,也可以使用request.directed(方法名忘了)方法实现。这个跳转不能同享同一个会话数据;如果跳转到同一个服务器的同一个虚拟目录,可以同享同一个session数据;
action可以实现这两种跳转方式,这都是action配置文件里面配置的;可以查看一下相关教材;
学过struts1没 struts2与struts1有一个区别是 struts2 帮用户封装了javaBean 而struts1没有
想想是不是用struts2少些了很多代码啊,就是少了javaBean 当然还有其它的啦
struts2中的action 既是一个控制器也是一个javaBean
action与页面没有什么关系 你要拿到action中字段值的话
如下
//用${}就可以拿到值
struts2中的页面跳转,页面与action不是继承关系,
跳转逻辑是:页面 A.jsp点Submit提交(将表单的内容封装成XXX.action,请求struts处理)-------->通过web.xml中配置的拦截器,拦截这个请求(因为配置的是struts的拦截器,所以,就交给struts处理)--------->在struts.xml配置文件中,配置了xxx.action对应处理的类AA,以及跳转的页面(如:成功就跳转到b.jsp,失败就跳转到c.jsp)。
这种跳转一般是forward方式
有两种跳转方式
(1)通过return "success";方式,可以用request.setAttribute("age","23");传给Jsp,
在jsp里,用
(2)通过response.sendRedirect("show.jsp");来跳转页面,可以用session.setAttribute("age",23);保存数据,
在jsp里用
页面和action没有任何关系。
页面中