`

使用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中Action接收参数的方法

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

    Struts2 in action中文版

    8.1.1 页面上:如何使用自定义结果组件构建Struts 2 Ajax应用程序 171 8.1.2 实现JSON结果类型 173 8.2 常用的结果类型 180 8.2.1 RequestDispatcher,也叫做dispatcher 180 8.2.2 ServletRedirectResult,也叫做...

    struts2重定向实例源码

    struts result类型中redirect与redirectAction的使用 包括参数传递。

    非常不错的中文struts2教程[CHM]

    内容: 1、OGNL —— 数据运转的催化剂 2、Result机制,让视图更丰富 ...5、Struts2中的参数传递 6、标签库,永恒的争论话题 7、拦截器详解 8、配置,灵活还是简单? 9、深入plugin 10、在Struts2中使用OGNL

    一步步学习Struts2

    内容包括ognl,result机制,struts2配置详解,struts2中的action,struts2中的参数传递,标签库,拦截器的详解,深入plugin

    深入浅出Struts2(附源码)

    本书是广受赞誉的Struts 2优秀教程,它全面而深入地阐述了Struts 2的各个特性,并指导开发人员如何根据遇到的问题对症下药,选择使用最合适的特性。作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,...

    struts2.1宝典

    2、开发struts2流程 1 3、创建拦截器: 2 4.标签中引用资源文件内容 3 5.创建资源文件 3 6.Action中访问servlet API 3 7.Action访问资源文件 3 8.资源文件_各国代码 4 9.将struts.xml分开 4 10全局结果result 4 ...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    3.3 把静态参数传递给一个动作 41 3.4 ActionSupport类 41 3.5 结果 42 3.5.1 Chain 43 3.5.2 Dispatcher 44 3.5.3 FreeMarker 44 3.5.4 HttpHeader 44 3.5.5 Redirect 45 3.5.6 Redirect Action 46 3.5.7 Stream 47...

    struts.docx

    Struts2是处理访问服务器的请求 学习struts2的(重点) Struts.xml的配置 参数传递 Ognl ValueStack Action原理 Result原理 拦截器 struts将会完全的取代我们的servlet技术

    在一个ssh框架的项目当中,页面、action、service、model、dao1

    JSP中可以通过Struts2的标签库来绑定表单字段和Action中的属性,实现参数的传递。 **Action** 在SSH框架中扮演着控制器的角色,它接收来自前端的请求,处理这些请求,并调用服务层的方法。Action通常会有一个或多个...

    J2EE考试答案

    2、序列化将对象转换为可传输方式从一个地方传递到另一个地方;3、序列化使程序更具维护性。 六、Session工厂 Session工厂是Hibernate中的一个核心概念。Session工厂可以创建Session对象实例,Session对象可以用来...

    Struts in Action中文版

    2. 深入 STRUTS架构..................................................................................37 2.1. 随便谈谈......................................................................................

    J2EE考试题目及答案定义.pdf

    涵盖了J2EE的四层模型、对象持久化、ORMapping、Hibernate实现对象持久化、序列化、SessionFactory、Session、load和get方法、Action接受用户参数输入、Struts中实现Action、Struts.xml中Result的类型等多个方面的...

    action之间的跳转

    Action 之间的跳转是 Struts2 框架中的一种机制,允许不同的 Action 之间进行跳转,以实现复杂的业务逻辑。这种机制可以分为两种类型:chain 和 redirect-action。 1. Chain 类型 当 type 为 chain 时,说明是 ...

    J2EE考试题目及答案.pdf

    2. 序列化将对象转换为可传输方式从一个地方传递到另一个地方 3. 序列化使程序更具维护性 Session 中的 load() 和 get() 方法: * load() 方法可返回实体的代理类实例,而 get() 方法永远直接返回实体类 * load() ...

    struts in Action

    2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈.......................................................................................

Global site tag (gtag.js) - Google Analytics