开发者社区> lpxxn> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
国外短域名的使用及跳转方法
国外短域名的使用及跳转方法
241 0
Struts2框架的搭建
搭建一个struts2的框架,在之前已经搭建过struts的框架了,这里的流程基本上差不多,详见 struts1的搭建 首先到官网上下载jar包,这里附一个git的链接struts2jar包下载 新建工程,将下载的jar解压至工程中,项目结构如下: 项目结构 接下来编写struts.
865 0
SpringMVC与Struts2的对比
原文地址:http://blog.csdn.net/gstormspire/article/details/8239182 下面这些东西基本都是我从网上粘贴过来的,没有那么多耐心和时间一个字一个字的敲了,但是基本能表明我选择SpringMVC的思路和原因。 把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的,虽然在都有着核心分发器等相同的功能
1892 0
DEDEv5.6跳转网址修改成直链地址而非动态跳转
  因为之前DEDE技术吧站长用织梦DEDECMSv5.6做了个网址导航站,而当时完工的时候虽然基本都做得差不多了,也做了伪静态,做了伪静态之后的列表也地址如(http://www.
1245 0
+关注
lpxxn
山外青山,楼外楼。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载