struts2 action结果中param参数具体用途是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计895个文字,预计阅读时间需要4分钟。
在ASP.NET MVC中,`ActionResult.Name`和`ActionResult.Param`参数通常用于自定义ActionResult的名称和传递额外的参数。
自定义ActionResult的名称:- `ActionResult.Name`用于指定ActionResult的名称,这可以在视图引擎中用于查找相应的视图。- 通常情况下,当你返回一个自定义的ActionResult时,视图引擎会使用这个名称来定位对应的视图。
带参数的`ActionResult`的作用:- `ActionResult.Param`可以用来传递额外的数据到视图。- 这通常用于在执行某些操作后,需要将一些状态信息或数据传递给视图。
何时会用到这些参数:- 当你需要在视图上显示额外的信息,或者需要根据这些信息来决定视图的渲染方式时,这些参数就会派上用场。
参数的定义、传递和递归:- 参数通常在ActionResult的实现类中定义,并通过构造函数或属性进行传递。- 这些参数可以通过`ViewBag`或`TempData`等机制在控制器和视图之间传递。- 如果需要递归传递,可以使用`TempData`,它可以在多个请求之间保持数据。
具体使用示例:csharppublic ActionResult MyAction(int id){ var result=new MyCustomActionResult(MyView, new { MyProperty=SomeValue }); return result;}
public class MyCustomActionResult : ActionResult{ public string Name { get; private set; } public object Param { get; private set; }
public MyCustomActionResult(string name, object param) { Name=name; Param=param; }
public override void ExecuteResult(ControllerContext context) { var view=context.Controller.ViewEngines.OfType().First().FindView(context.Controller.ControllerContext, Name, null); context.Controller.ViewData.Model=Param; context.Controller.TempData[MyCustomData]=Param; // 用于递归传递 context.Controller.RenderView(view); }}在这个例子中,`MyCustomActionResult`被定义为具有自定义名称和参数。在`ExecuteResult`方法中,这些参数被传递到视图,并通过`TempData`递归传递。
actionresultnameloginparamparamresulta 求解:带参数的result有什么作用?一般什么情况下才会用到,而这些参数是怎么定义,传会怎么传递的呢,具体传递到哪里,然后在传递到的地方怎么去用这些参数?9 个解决方案
#1
还是通过request传递的。#2
一般在重定向的时候才用到参数,如果是返回到jsp页面,可以直接从页面上取到参数,不需要在xml中声明。#3
让浏览器知道服务器端的特殊设置指定读取文件的编码 UTF-8#4
引用2楼liangtu33的回复: 一般在重定向的时候才用到参数,如果是返回到jsp页面,可以直接从页面上取到参数,不需要在xml中声明。 那一般重定向到那个action怎么用这些参数?#5
引用4楼www_Mr_wang的回复: 引用2楼liangtu33的回复: 一般在重定向的时候才用到参数,如果是返回到jsp页面,可以直接从页面上取到参数,不需要在xml中声明。 那一般重定向到那个action怎么用这些参数? 这是删除后,重新跳转到查询页面 listDocumentItem${documentCatalogId}#6
引用4楼www_Mr_wang的回复: 引用2楼liangtu33的回复: 一般在重定向的时候才用到参数,如果是返回到jsp页面,可以直接从页面上取到参数,不需要在xml中声明。 那一般重定向到那个action怎么用这些参数? 在struts2中定义一个和param名称一样的属性,如charSet 添加get/set方法,自动注入#7
actionName是查询的action的名称 documentCatalogId是删除的action中,有的属性 type="redirectAction":表示删除后重定向#8
paramname=“xxx”对应actionclass=“xx.x.x.x”这个类里面的一个setXxx()方法,但是这有什么用呢?什么时候用,重定向是什么?#9
本文共计895个文字,预计阅读时间需要4分钟。
在ASP.NET MVC中,`ActionResult.Name`和`ActionResult.Param`参数通常用于自定义ActionResult的名称和传递额外的参数。
自定义ActionResult的名称:- `ActionResult.Name`用于指定ActionResult的名称,这可以在视图引擎中用于查找相应的视图。- 通常情况下,当你返回一个自定义的ActionResult时,视图引擎会使用这个名称来定位对应的视图。
带参数的`ActionResult`的作用:- `ActionResult.Param`可以用来传递额外的数据到视图。- 这通常用于在执行某些操作后,需要将一些状态信息或数据传递给视图。
何时会用到这些参数:- 当你需要在视图上显示额外的信息,或者需要根据这些信息来决定视图的渲染方式时,这些参数就会派上用场。
参数的定义、传递和递归:- 参数通常在ActionResult的实现类中定义,并通过构造函数或属性进行传递。- 这些参数可以通过`ViewBag`或`TempData`等机制在控制器和视图之间传递。- 如果需要递归传递,可以使用`TempData`,它可以在多个请求之间保持数据。
具体使用示例:csharppublic ActionResult MyAction(int id){ var result=new MyCustomActionResult(MyView, new { MyProperty=SomeValue }); return result;}
public class MyCustomActionResult : ActionResult{ public string Name { get; private set; } public object Param { get; private set; }
public MyCustomActionResult(string name, object param) { Name=name; Param=param; }
public override void ExecuteResult(ControllerContext context) { var view=context.Controller.ViewEngines.OfType().First().FindView(context.Controller.ControllerContext, Name, null); context.Controller.ViewData.Model=Param; context.Controller.TempData[MyCustomData]=Param; // 用于递归传递 context.Controller.RenderView(view); }}在这个例子中,`MyCustomActionResult`被定义为具有自定义名称和参数。在`ExecuteResult`方法中,这些参数被传递到视图,并通过`TempData`递归传递。
actionresultnameloginparamparamresulta 求解:带参数的result有什么作用?一般什么情况下才会用到,而这些参数是怎么定义,传会怎么传递的呢,具体传递到哪里,然后在传递到的地方怎么去用这些参数?
