Struts2 动态结果和带参数的跳转

简介: 完整代码:Struts16ActionResultsDemo.rar 1.动态结果。    有时我们需要在Action里取得我个要转跳的页面 看一下我们的struts.xml DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.

完整代码:Struts16ActionResultsDemo.rar

1.动态结果。

   有时我们需要在Action里取得我个要转跳的页面

看一下我们的struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <!-- Add packages here -->
     <constant name="struts.devMode" value="true" />
    <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
    
    <!-- Add packages here -->       
    
    <package name="testdefalult" namespace="/abc" extends="struts-default">                             
       <action name="mya" class="com.pengli.struts.parampack.MyActionOne"  method="Def">
               <result>${value}</result>
       </action>
    </package>
    
    
</struts>

很简单只是把result里用${value}取代了具体和页面,那看一下我们的

action是怎么写的

package com.pengli.struts.parampack;

import com.opensymphony.xwork2.ActionSupport;

public class MyActionOne extends ActionSupport{    
    private String strType;
    private String myValue;
    public String Def()
    {
        if(strType!=null&&strType.equals("a"))
        {        
            setValue("/NewJsp.jsp");
                        
        }
        else
        {
            setValue("/Errors.jsp");            
        }
        return SUCCESS;    
    }
    public String getType() {
        return strType;
    }
    public void setType(String type) {
        this.strType = type;
    }
    public String getValue() {
        return myValue;
    }
    public void setValue(String value) {
        this.myValue = value;
    }
}

这是根据type给value赋值,转跳到相应的页面上

http://localhost:8080/Struts16ActionResultsDemo/abc/mya?type=a

正常页面

赋一个别的值

 

2.带参数的跳转

我们知道redirect形式的转跳是共享值栈的,我们上边说的是&{value}取的是一个整体页面,我们也可以用它来保存和提取参数

这里我们是基于1修改的代码

看一下structs.xml

       <action name="myb" class="com.pengli.struts.parampack.MyActionOne"  method="Defb">
               <result>/NewJsp.jsp?v=${type}</result>
       </action>

 

再看一下Action

public String Defb()
    {
        if(strType!=null)
        {
            myValue=String.valueOf(Integer.parseInt(strType)+1);
        }
        return SUCCESS;
    }

 

再看一下jsp页面,因为xml里是直接轩跳的,没有经过Action

所以NewJsp.jsp?v=${type}取v的值时要这么取

  <body>
    This is my JSP page. <br>
    parameters v <s:property value="#parameters.v"/>
    <s:debug></s:debug>
  </body>

 完整代码:Struts16ActionResultsDemo.rar

目录
相关文章
|
6月前
|
API C++ Windows
自定义跳转函数的通用unhook方法
自定义跳转函数的通用unhook方法
|
7月前
|
Java
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(三)
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(三)
41 0
|
23天前
|
小程序
小程序页面路由传参的方法?
小程序页面路由传参的方法?
14 0
|
27天前
SpringMVC跳转外部项目方式
SpringMVC跳转外部项目方式
10 0
|
4月前
SpringMVC之综合案例:参数传递,向页面传参,页面跳转
SpringMVC之综合案例:参数传递,向页面传参,页面跳转
24 0
|
5月前
thymeleaf获取url地址跳转时所带参数
thymeleaf获取url地址跳转时所带参数
|
6月前
|
前端开发
Thinkphp5分页后携带参数进行跳转传递
Thinkphp5分页后携带参数进行跳转传递
|
7月前
|
JSON 前端开发 Java
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(一)
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤
55 0
|
7月前
|
JSON Java 测试技术
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(二)
【SpringMVC】注解、参数传递、返回值和页面跳转的关键步骤(二)
46 0
|
Java
Struts2中的跳转、package标签、挎包重定向、全局跳转
Struts2中的跳转、package标签、挎包重定向、全局跳转
86 0
Struts2中的跳转、package标签、挎包重定向、全局跳转