建立三个jsp页面
forward1jsp,forward2jsp,forward3jsp
forward2jsp是最后跳转的页面
建立2个action
Forward1Action,Forward3Action
forward1:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri=">一个action只能对应一个方法来处理吧。你多定义几个action不就得了,况且listAll和add属于不同的动作啊,如果想实现listAll的话也可以直接在对应的get方法里调用 *** 作数据库的方法,return数list链表的时候就是有数据的了。在ASPNET MVC框架的ControllerBase中存在一个叫做TempData的Property。
它的类型为TempDataDictionary,顾名思义是一个字典类。
TempData在ASPNET MVC中的作用是:可用于在Action执行过程之间传值。
简单的说,可以在执行某个Action的时候,将数据存放在TempData中。
那么在下一次Action执行过程中可以使用TempData中的数据。
如:
1 public ActionResult Index()
2 {
3 thisTempData["MyNane"] = "XiaoMing";
4 return View();
5 }
6 public ActionResult Index2()
7 {
8 string MyName=thisTempData["MyNane"] as string;
9 return View();所谓的跳转,就是再发起一个指向这个action的连接,需要再浏览器里输入程序里的url,也就是“/getupdateVersionfoByLimitaction”
具体跳转方法如下:
1、先配置 <dispatcher>REQUEST</dispatcher>、<dispatcher>FORWARD</dispatcher>
2、在webxml下加上 <filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
即可实现。1、如果你想在action中获得值,就必须先从jsp跳转到action,然后action返回的时候被struts拦截,匹配result时,就可以控制跳转到另外一个jsp,这当中的过程看起来很长,但是对于计算机来说是非常短暂的,你不会发现是经过action才跳转到第二个jsp。
2、还有一种方式是用 ajax 将你要传递给action的数据以url+ 参数 + 参数值 的方式(即get方式)传递给后台action,但是这个action不能匹配struts当中的result,否则会报错,最好是定义void方法来获得页面数据,request取值,response响应。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)