`

使用Struts2 的result 传递参数

阅读更多

1.当使用type=“redirectAction” 或type=“redirect”提交到一个action并且需要传递一个参数时。这里是有区别的:
使用type=“redirectAction”时,结果就只能写Action的配置名,不能带有后缀:“.action”

 

 

2.在Action中定义:
private User user;

user有get/set方法。

EL取值
${user.username}

struts2取值:
<s:property value="user.username" /> //从ValueStack中取值

<s:property value="#user.username" /> //从Request中取值

 

Map sessionMap = ActionContext.getContext().getSession();
            sessionMap.put(
"qi", qi);

 

 

3.

public class LoginAction extends ActionSupport {

 private User user;
 
 //用于保存请求重定向到的action的名字
 private String nextAction;

 public User getUser() {
  return user;
 }

 public void setUser(User user) {
  this.user = user;
 }

 public String getNextAction() {
  return nextAction;
 }

 public void setNextAction(String nextAction) {
  this.nextAction = nextAction;
 }

 @Override
 public String execute() throws Exception {
  System.out.println("***************** "+user.isManager());
  //如何把user的manager传入的字符转换成boolean类型?
  if(user.isManager())
   nextAction="manager";
  else
   nextAction="employee";
  
  return SUCCESS;
 }
}

<action name="login"
   class="act.LoginAction">
   <result type="redirectAction">${nextAction}?name=${user.name}</result>
   <!-- LoginAction里的属性值name传到nextAction ,传递中文出现乱码-->
   </action>

<action name="employee"
   class="act.EmployeeAction">
   <result>/result.jsp</result>
   </action>

 

<table border="1">
     <s:form action="/loginns/login.action">
      <tr>
       <td><s:textfield name="user.name" label="用户名" cssStyle="width:120px;"></s:textfield></td>
      </tr>
      <tr>
       <td><s:password name="user.password" label="密码" cssStyle="width:120px;"></s:password></td>
      </tr>
      <tr><!-- 传入的值如果不是true,其它的都转换成false -->
       <td><s:radio name="user.manager"  value="false" list="#{true:'是',false:'否'}" label="是否管理员"></s:radio></td>
      </tr>
      <tr>
       <td align="center"><s:submit value="登陆"></s:submit></td>
      </tr>
     </s:form>
    </table>

 

${param.name }(el)美元符号是El表达式
    <s:property value="#parameters.name"/>(ognl)这个是OGNL来获取值

分享到:
评论

相关推荐

    struts2 result配置详解

    在上面的配置中,使用 Redirect-action 配置将结果重定向到一个 Action,同时传递参数 Xml 代码。Redirect 配置则不同,它需要指定完整的 URL 地址。 Struts2 框架中 Result 配置类型非常多样化,每种类型都有其...

    struts2 向结果传参数

    总的来说,Struts2提供了多种方式来向结果传递参数,这使得它在处理复杂的业务逻辑和页面跳转时具有高度的可定制性。根据项目的具体需求,选择合适的方法可以提高代码的可维护性和效率。在实践中,结合使用不同的...

    struts2 result type 介绍

    2. **RedirectAction**:类似于Redirect,但重定向到另一个Action,可以传递参数,适合实现业务流程跳转。 3. **Stream**:用于处理需要流式传输的内容,比如下载文件或图片,它能直接将数据写入到HTTP响应的输出流...

    struts2支持方法上传递参数

    为了实现这个功能,Struts2使用了OGNL(Object-Graph Navigation Language)表达式语言来解析和绑定参数。OGNL允许我们访问对象的属性并进行值的设置,因此在Action方法中可以直接使用参数名来引用表单中的字段。 ...

    struts2 action跳转action传参数

    下面将详细介绍如何在Struts2中实现Action之间的跳转以及如何在跳转过程中传递参数。 #### Struts2框架简介 Struts2是基于Struts1发展起来的一个Web应用框架,它继承了Struts1的优点,同时又克服了其缺点,引入了...

    AJAX和struts2传递JSON数组

    在本场景中,我们将探讨如何使用AJAX来传递JSON数组,并在Struts2的Action中接收和处理这些数据。 首先,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...

    Struts2中Action接收参数的方法

    Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性接收参数 在 Struts2 中,可以使用 ...

    struts2的result标签使用

    让我们深入探讨一下`Result`标签的使用以及在Struts2框架中的作用。 ### 1. Struts2框架概述 Struts2框架基于MVC设计模式,主要由四部分组成:Action、ActionMapping、Result和Interceptor。Action负责处理用户的...

    Struts2 result和type

    这使得开发者能够在不同的Action之间进行跳转,并且能够传递参数。 ##### 4. **velocity** `velocity`类型用于渲染Velocity模板。通过`location`属性指定模板的位置,模板文件通常以`.vm`作为扩展名。如果`parse`...

    Struts2 Result 参数详解

    通过配置`&lt;result name="success" type="dispatcher"&gt;`,Struts2会将控制权传递给指定的JSP页面。 3. FreeMarker Result FreeMarker Result用于处理FreeMarker模板,FreeMarker是一种模板语言,可以方便地与Java...

    使用Struts2的JSON插件来实现JSON数据传递

    至此,你已经掌握了如何使用Struts2的JSON插件进行数据传递的基本步骤。然而,Struts2 JSON插件还提供了许多高级特性,如自定义JSON序列化策略、处理复杂类型、支持国际化等。在实际开发中,你可以根据项目需求灵活...

    使用struts2 和ajax进行传递json数据

    使用`@Result`注解或struts.xml配置文件,可以指定一个结果类型为`json`,这样Struts2会将Action的返回对象转换成JSON格式并返回给前端。 **Ajax请求与JSON数据** 前端JavaScript代码使用XMLHttpRequest对象或现代...

    struts2中result类型之redirectAction

    在上面的例子中,`myAction`执行完成后,浏览器将被重定向到`anotherAction`,在`/anotherNamespace`命名空间下,并且传递了参数`param1=value1`和`param2=value2`。 **redirectAction Result的优缺点:** 优点: 1...

    Struts2学习资源Result part1.rar

    默认情况下,如果未明确指定Result类型,那么Struts2会默认使用"dispatcher",它将请求分发到一个JSP页面。然而,Struts2提供了多种Result类型,以满足不同场景的需求。 1. **dispatcher**: 这是最常见的Result类型...

    Struts2接口文档

    “Struts2.3.1.2_API.chm”文档包含了Struts2框架的详细API,其中涵盖了各个主要类和接口的解释、方法签名、参数说明以及返回值类型。开发者可以通过查阅此文档,快速查找特定功能的实现方式,例如ActionSupport类,...

    Struts2+Jquery+Ajax

    在Struts2框架下,我们可以使用Jquery的Ajax方法向服务器发送请求,获取JSON或XML数据,然后动态更新页面的部分内容。 在"06-mvc之struts2.ppt"中,可能涵盖了以下内容: 1. Struts2框架的基本概念和架构 2. 如何...

    struts1.x 和 struts2.x向Action里填充jsp参数原理

    本篇文章将深入探讨Struts1.x和Struts2.x在向Action中填充JSP参数的原理。 Struts1.x的工作原理: Struts1的核心是ActionServlet,它是一个实现了Servlet接口的控制器。当用户发起HTTP请求时,请求会被Dispatcher...

    留言板留言板struts2留言板struts2

    5. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为默认表达式语言,用于在Action和视图之间传递数据。通过OGNL,可以在JSP页面中直接访问Action中的属性,或者在Action中动态设置模型数据。 6. ...

    Struts2初步使用总结

    对于大多数公司而言,Struts2主要用于处理HTTP请求,获取前端传递过来的参数,并调用后端服务层进行业务逻辑处理。处理完业务逻辑之后,Struts2会根据配置返回相应的视图结果给用户。 **1.3 Struts2的工作流程** ...

    Struts2 使用 Struts2 实现国际化

    总结,实现Struts2的国际化涉及资源文件的创建、配置Struts2的`struts.xml`、设置locale以及在JSP页面中使用国际化标签库。理解和掌握这些步骤对于开发全球化应用程序至关重要。通过阅读源码和利用相关工具,开发者...

Global site tag (gtag.js) - Google Analytics