`

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

    Struts2中Action接收参数的方法

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

    Struts2 Result 参数详解

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

    struts2案例 struts2 struts2源码

    3. **OGNL表达式**:Struts2默认使用OGNL(Object-Graph Navigation Language)作为视图和模型之间的数据绑定语言,用于传递参数和获取对象属性。 4. **国际化与本地化**:通过资源包(properties文件)实现多语言...

    留言板留言板struts2留言板struts2

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

    struts2例子struts2例子

    2. **配置文件**:通常为struts.xml,定义了Action与结果视图之间的映射,以及Action的参数、拦截器等配置。 3. **Interceptor(拦截器)**:拦截器是Struts2中的一个重要概念,它允许在Action执行前后执行一些预...

    struts2和tomcat使用

    Struts2和Tomcat是Java ...对于初学者,可以从提供的"Struts2入门教程.pdf"开始,逐步了解和掌握Struts2框架的使用;而对于Tomcat的深入理解,可以阅读"Tomcat工作原理祥解.pdf",这将有助于优化应用的性能和部署策略。

    Struts2框架 jar JAVA开发 Struts2.jar架包 Struts2开发实例

    OGNL(Object-Graph Navigation Language)是Struts2中的表达式语言,用于在Action和视图之间传递数据。它可以方便地访问对象属性,进行条件判断和算术运算,使得数据操作更加灵活。 **数据校验** Struts2提供了...

    struts2入门(传参)

    这个入门实例主要关注如何在Struts2中传递参数,实现一个简单的登录功能。在这个过程中,我们将涉及到以下几个核心概念和步骤: 1. **Struts2架构**: Struts2框架基于拦截器(Interceptor)模型,它通过Action类...

    struts2连接mysql数据库登录验证程序

    1. **Struts2框架**:Struts2作为MVC设计模式的实现,负责处理HTTP请求,通过Action类将用户请求映射到业务逻辑,并将结果传递给视图进行展示。它的核心组件包括FilterDispatcher(或现在的...

    struts2 PDF

    3. **OGNL(Object-Graph Navigation Language)**:Struts2默认使用OGNL作为表达式语言,用于在Action和视图之间传递数据。 4. **拦截器(Interceptor)**:介绍了如何自定义拦截器,以及预定义的拦截器如Params...

    struts2完整例子

    3. **配置文件**:Struts2使用XML配置文件(struts.xml或struts-default.xml)来定义Action的映射、拦截器链、结果类型等。这些配置定义了请求如何路由到Action,以及Action如何响应。 4. **拦截器(Interceptor)*...

    struts2总结项目总结

    Struts2是一个强大的Java web开发框架,它基于MVC(Model-View-...然而,随着Spring Boot和其他现代框架的发展,Struts2的使用逐渐减少,但在理解MVC模式和企业级应用开发方面,Struts2仍然具有重要的学习价值。

    网上书店struts2

    在Action中,它可以用来传递参数到Service层。 六、拦截器 拦截器是Struts2的一个核心特性,它们可以插入到Action调用的流程中,实现日志记录、权限验证、事务管理等功能。比如,在网上书店中,可能会有登录检查的...

    Struts2教程DOC版

    1. **OGNL(Object-Graph Navigation Language)**:Struts2内部使用OGNL作为表达式语言,用于在Action与视图之间传递数据,提供动态访问对象属性的能力。 2. **国际化与本地化**:Struts2支持多语言环境,开发者...

    Struts2-Crud+JdbcDemo最简单的Struts2+jdbc学习曾删改查程序

    这个"Struts2-Crud+JdbcDemo"项目是一个基础的学习示例,涵盖了如何使用Struts2和JDBC进行基本的CRUD(创建、读取、更新和删除)操作。 首先,我们来详细了解一下Struts2的核心概念: 1. **Action类**:在Struts2...

    Struts2-api

    5. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为表达式语言,它用于在Action和视图之间传递数据。开发者可以通过OGNL表达式在JSP页面上直接访问Action的属性,或者在Action中获取请求参数。 ...

    struts2查询修改删除

    10. **OGNL(Object-Graph Navigation Language)**:Struts2默认使用OGNL作为表达式语言,用于在Action和视图之间传递数据。开发者可以通过OGNL表达式在JSP页面上直接访问Action的属性。 通过以上内容,我们可以...

    ibatis+struts2

    2. **结果转发**:Action执行完业务逻辑后,可以通过Struts2的Result将控制权转向指定的JSP页面或Action,显示查询结果或进行其他操作。 3. **异常处理**:可以利用Struts2的全局异常处理配置,统一处理iBatis执行...

Global site tag (gtag.js) - Google Analytics