完整代码: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

Struts2 动态结果和带参数的跳转的更多相关文章

  1. ReportView动态加载带参数的RDCL文件及子报表

    本文来自Torres.Wu发表在博客园的博客,转载请标明出处. 同上一篇差不多,这次咱们加载带有子报表的RDCl文件.首先还是创建一个form程序,在form2窗体中添加一个ReporView控件,l ...

  2. ReportView动态加载带参数的RDCL文件

    在vs里新建一个winform程序"ReportViewTest",在form1中添加一个reportView控件,from1的load事件如下: private void For ...

  3. struts result动态结果集 带参数的结果集

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC     &qu ...

  4. vue-router 使用query传参跳转了两次(首次带参数,跳转到了不带参数)

    问题: 在做项目的过程中,使用query传参数,发现跳转过程中第一次有参数,但是路由马上又跳转了一次,然后 ?和它之后的参数都不见了 问题分析: 因为路由加载了两次 解决办法: ·1. 找到总的 la ...

  5. vue 带参数的跳转-完成一个功能之后 之后需要深思,否则还会忘记

    我要写详细点,否则下次很容易忘记 写了一个页面,这个页面里面添加了 很多a 标签,跳转都是同一个页面,内容不一样,方法 首先 路由 设定好 routes:[ { path:'/aaa', name:' ...

  6. vue-如何实现带参数跳转页面

    [前后端分离项目之vue框架经验总结] 文/朱季谦 在vue框架的前端页面上,若要实现页面之间的带参数跳转,可参考以下实现过程: 例如,点击截图中的“查看试卷”,可实现带参跳转到相应的试卷页面,该功能 ...

  7. 全局结果集,带参数的结果集和动态结果集(struts2)

    全局结果集: 当许多action都有共同的结果时,如果每个package都存在一个相同结果,会使得struts.xml比较臃肿,所以使用全局的结果集.一个包内的全局结果集可以通过包的继承而被其它包使用 ...

  8. Vue+elementUI 自定义动态数据菜单导航组件实现展开收缩+路由跳转router-view渲染数据 路由跳转到同一个页面带参数ID 自动刷新数据

    准备:导入ElementUI 看官网教程 数据准备:JSON数据转换成树状 参考文章: JS实现 JSON扁平数据转换树状数据 后台我拿的数据是这样的格式: [ {id:1 , parentId: 0 ...

  9. 让DJANGO里的get_success_url定义的reverse_lazy带参数跳转

    按一般的CBVS实现,这个是编辑UPDATEVIEW完成之后,跳到LISTVIEW的. 但如果带跳到DETAILVIEW,则reverse_lazy需要带上参数进行跳转. 实现预定义的PK键跳转代码如 ...

随机推荐

  1. JAVA 8 Optional类介绍及其源码

    什么是Optional对象 Java 8中所谓的Optional对象,即一个容器对象,该对象可以包含一个null或非null值.如果该值不为null,则调用isPresent()方法将返回true,且 ...

  2. 解决由OpenShift自带的APC加速器造成的代码无法及时生效的问题

    如果你在使用你的Openshift时出现了这样的问题,那就说明APC加速器导致了此故障 1.上传后的代码运行效果没有变化 2.Wordpress翻来覆去自己重复升级一个版本(←Wordpress在自嗨 ...

  3. spring listener监听器

    1.Listener的定义与作用 监听器Listener就是在application,session,request三个对象创建.销毁或者往其中添加修改删除属性时自动执行代码的功能组件. Listen ...

  4. C#委托学习

    标签(空格分隔): C# 看Markdown效果支持的不大好. 买来<CLR Via C#>这本书很久了,一直也没有对其进行总结,看的非常凌乱,趁此机会好好总结一下,也算对C#学习的一个总 ...

  5. 1、Hadoop的伪分布式部署

    伪分布式模式搭建:   1.环境准备 (1)主机名(root用户) # vi /etc/sysconfig/network HOSTNAME=hadoo1 (不要用下划线) (2)创建普通用户cong ...

  6. shell脚本切割tomcat的日志文件

    鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢 ...

  7. 工作中常用的Linux命令:find命令

    本文链接:http://www.cnblogs.com/MartinChentf/p/6056571.html (转载请注明出处) 1.命令格式 find [-H] [-L] [-P] [-D deb ...

  8. 错误 未能找到类型或命名空间名称 (是否缺少 using 指令或程序集引用?)

    有时发现,明明引用了,结果却提示未引用, 这时就有可能是两个程序集的目标框架类型不一致导致的(在程序集属性面板里改下即可).

  9. Centos和Redhat的区别和联系

    网上看到的,转载给大家 CentOS与RedHat的关系: RedHat在发行的时候,有两种方式:二进制的发行方式以及源代码的发行方式.无论是哪一种发行方式,你都可以免费获得(例如从网上下载),并再次 ...

  10. 使用数据库sqlite3 C语言实现登陆注册的功能

    //此代码为注册功能 void create_regtable() { int rc; //rc为返回值,判断函数是否执行成功 rc=0函数执行成功,rc !=0函数执行失败 sqlite3 *db; ...