精华内容
下载资源
问答
  • action跳转后的页面接收由上一个ACTION传过来的参数
  • 基于注解的struts action跳转 @Result 跳转到另一个action

    日期: 2016-8-9


    内容: 基于注解的struts action跳转 @Result 跳转到另一个action



    初学ssh 基于注解的方式简单灵活,但是做一个例子的时候,添加用户AddUser 完成后 想页面跳转到 ListUser 这个action,
    然后action 成功后 会跳转到list.jsp 显示 所以用户信息,
    发现 网上几乎所有例子都是 @Result 成功跳转到一个jsp ,不成功跳转到另一个jsp
    @Action(value="studentAdd",results={
    @Result(name="success",location="/usersuc.jsp"),
    @Result(name="error",location="/usererror.jsp")
    })
    那么如果 成功跳转到另一action个 怎么写呢,搜了半天 也没有想要的答案
    就自己尝试
    @Action(value="studentAdd",results={
    @Result(name="success",location="/StudentList.action"),
    @Result(name="error",location="/error.jsp")
    }) 这是错的 ,tomcat启动时 直接就报错 Exception starting filter struts2 , Unable to load configuration. - [unknown location]
    如果不加 .action 后缀
    @Action(value="studentAdd",results={
    @Result(name="success",location="/StudentList"),
    @Result(name="error",location="/error.jsp")
    }) 这样虽然tomcat启动时不报错,但是添加用户页面成功 不成功会显示404错误 找不到action
    偶然在一片文章中 看到
    struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)
    dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp)
    Xml代码 :
    <result name="success">/main.jsp</result>
    <result name="success">/main.jsp</result>
    以上写法使用了两个默认,其完整的写法为:
    <result name="success" type="dispatcher">
    <param name="location">/maini.jsp</param>
    </result>
    用于页面转发,页面跳转过程一直是同一个线程,Action中的数据一直保存在。
    location只能是页面,不能是另一个action(可用type="chain"解决)。
     
    redirect 类型用于重定向到一个页面,另一个action或一个网址。
    Xml代码:
    <result name="success" type="redirect">aaa.jsp</result>
    <result name="success" type="redirect">bbb.action</result>
    <result name="success" type="redirect">www.baidu.com</result>
    缺点:redirect把一个http返回码(SUCCESS)以及返回的页面位置一起重新发给web服务器,容纳后由web服务器产生一个新的HTTP请求,就会产生一个新的线程,保存在原来Action执行的线程中的数据就无法访问。
    所以,result需要包含Action的数据,那么redirect不是一个可行的办法。因为新的HTTP请求时在Servlet容器的新的线程中处理的,ActionContext中的所有状态都不会存在。
    处理方法:
    (方法一):
    <result name="topic" type="redirect">/topicAction!findTopics.do?topicId=${topicId}</result>
    (方法二):
    <result name="topic" type="redirect-action">
    <param name="actionName">findTopics</param>
    <param name="topicId">${topicId}</param>
    </result>
     
    redirect-action 结果类型使用ActionMapperFactory提供的ActionMapper来重定向请求到另外一个action
    Xml代码:
    <result name="err" type="redirect-action">
    <param name="actionName">重定向的Action名</param>
    <param name="namespace">重定向Action所在的名字空间</param>
    </result>
    redirect和redirect-action两种结果类型在使用上其实并没有什么区别,只是写法不同而已。
     
    chain 用于把相关的几个action连接起来,共同完成一个功能。
    Xml代码:
    <action name="step1" class="test.Step1Action">
    <result name="success" type="chain">step2.action</result>
    </action>
    <action name="step2" class="test.Step2Action">
    <result name="success">finish.jsp</result>
    </action>
    处于chain中的action属于同一个http请求,共享一个ActionContext
    
    plaintextj 结果类型用于直接在页面上显示源代码
    Xml代码:
    <result name="err" type="plaintext">
    <param name="location">具体的位置</param>
    <param name="charSet">字符规范(如GBK)</param>
    </result>
    
    既然这样 制定跳转类型 是不是就可以了呢, 找下面来写 果然就OK了
    @Action(value="studentAdd",results={
    @Result(name="success",type="chain",location="studentList")})
    另外补充:同一个action中  一个方法跳转至另一个方法 "user"  为该action的命名
    @Result(name = "success", location = "user", type = "chain", params = { "method", "index" })

    转载地址: http://xiaobenbenxiong.iteye.com/blog/1771171



    展开全文
  • ASP.NET MVC的 Action跳转方法归纳部分

    千次阅读 2019-01-11 09:45:01
    首先我觉得action的跳转大致可以这样归一下类,跳转到同一控制器内的action和不同控制器内的action、带有参数的action跳转和不带参数的action跳转。 一、RedirectToAction(“Index”);//一个参数时在本Controller下...

    action跳转分类

    一、在同一控制器(Controllers)下的action跳转(不带参)

    1.return Redirect(“Index”);Index本controller下,ActionResult的方法名称
    2.return View(“Index”); *直接显示对应的页面Index *
    3.return View() ;
    4.RedirectToAction(“Index”);
    5.return PartialView(“model”)* 部分视图:一般传递参数为一模型集合,实现页面显示不同表格切换*

    二、在同一控制器(Controllers)下的action跳转(带参)

    1.Response.Redirect(“Index?id=1”);//适用于本controller下的方法名称,可带参数。
    Index?:ActionResult的方法名;id=1:参数和内容 *

    三、跳转到不同控制器(Controllers)下的action(不带参)

    1.RedirectToAction(ActionName,ControllerName)
    ActionName :ActionResult的方法名; ControllerName:控制器的名字
    2.RedirectToRoute(new {controller=“Home”,action=“Index”});
    Index :ActionResult的方法名; Home:控制器的名字

    四、跳转到不同控制器(Controllers)下的action(带参)

    1.RedirectToRoute(new {controller=“Home”,action=“Index”, id=param});/
    Index :ActionResult的方法名; Home:控制器的名字; id=param:参数和内容

    C#将Excel表格内容导入数据库–ASP.NET MVC

    JQuery ajax 实现关闭弹窗,刷新列表

    jQuery实现checkbox多选,单选与数据库交互传值,赋值整理

    C# String字符串方法的使用归纳(直观,粗暴)

    展开全文
  • struts2 的action跳转到别的action时,可以使用redirectAction 如: ./pages_crm/crm_cust 如果还需要传递参数: 可以这样:  ./pages_crm/crm_cust  ${customerId} 在hrEmploye
    struts2 的action跳转到别的action时,可以使用redirectAction
    
    如:


    <action name="hr_emp" class="hrEmployeeAction">
    <result name="loginForCustomer" type="redirectAction">./pages_crm/crm_cust</result>
    </action>


    如果还需要传递参数:
    可以这样:
    <action name="hr_emp" class="hrEmployeeAction">
    <result name="loginForCustomer" type="redirectAction">
       <param name="actionName">./pages_crm/crm_cust</param>
                                       <param name="bwvobj.id">${customerId}</param>
    </result>
    </action>

    在hrEmployeeAction中设置customerId属性,并有set和get方法。
    public class HrEmployeeAction extends ActionSupport{


    private String customerId;


    public String getCustomerId() {
    return customerId;
    }


    public void setCustomerId(String customerId) {
    this.customerId = customerId;
    }
    .....

    }


    这样就可以通过struts2的action跳转到别的action。同时传递参数过去。
    展开全文
  • Struts2的简单使用(三)action跳转

    千次阅读 2016-07-13 21:12:07
    在这里我要说一下action跳转的方式~ 一共有4种方式:内部跳转,外部跳转,全局跳转,默认的跳转页面 内部跳转 1.dispatcher(action-jsp)  从一个action里面服务器内部跳转到一个页面中.这个是type属性的默认值. ...

    在这里我要说一下action跳转的方式~

    一共有4种方式:内部跳转外部跳转全局跳转,默认的跳转页面

    内部跳转

    1.dispatcher(action-jsp)
     从一个action里面服务器内部跳转到一个页面中.这个是type属性的默认值.
    写个例子~从JumpAction跳到register.jsp
    JumpAction类:
    public class JumpAction extends ActionSupport{
    
    	private static final long serialVersionUID = 1L;
    	
    	public String toRegister(){
    		return "register";
    	}	
    
    }
    register.jsp:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>注册页面</title>
    </head>
    <body>
         <h3>注册页面</h3>
         <hr>
                用户名:<input type="text" name="name"/><br>
                密码:<input type="password" name="password"/><br>
                确认密码:<input type="password" name="repassword"/><br>
                性别:<input type="radio" name="gender" value="true" checked="checked">男
                <input type="radio" name="gender" value="false">女
                <br>
                年龄:<select name="age">
                  <option value="">请选择</option>
    				<%
    					for(int i=10;i<=30;i++){
    				%>
    				<option value="<%=i %>"><%=i %>周岁</option>
    				<%
    					}
    				%>
                </select>
                <br>
                <input type="submit" value="注册">
         </form>  
    </body>
    </html>
    struts.xml要配置这个Action:
    		   <action name="jump"
    		    class="com.xu.struts2.web.action.JumpAction">
    			<result name="register" type="dispatcher">/WEB-INF/jsp/register.jsp</result>
    		   </action> 
    在浏览器中输入localhost:9999/Struts2/jump!toRegister.action
    效果图:

    2.chain(action->action)
    从一个action里面服务器内部跳转到另一个action中.
    还是JumpAction类:
    public class JumpAction extends ActionSupport{
    
    	private static final long serialVersionUID = 1L;
    	
    	public String toA(){
    		System.out.println("toA");
    		return "a";
    	}
    	public String A(){
    		System.out.println("A");
    		return "b";
    	}
    
    }
    可以看到有俩个方法~
    struts.xml:
    		    <action name="jump"
    		    class="com.xu.struts2.web.action.JumpAction">
    		    <result name="a" type="chain">
    			    <param name="namespace">/</param>
    			    <param name="actionName">jump</param>
    			    <param name="method">A</param>
    			  </result>
    			  <result name="b" type="dispatcher">
    			    /WEB-INF/jsp/index.jsp
    			   </result>
    		   </action> 


    效果图:

    外部跳转

    1.redirect(action->jsp)
    JumpAction类:
    public class JumpAction extends ActionSupport{
    
    	private static final long serialVersionUID = 1L;
    	
    	public String toIndex(){
    		return "index";
    	}
    
    }
    

    struts.xml:
    		    <action name="jump"
    		      class="com.xu.struts2.web.action.JumpAction">
    			<result name="index" type="redirect">index.jsp</result>
    			</action>
    效果图:


    2.redirectAction(action->action)
     从一个action里面客户端重定向到另一个action里面
    这个也要分情况:同一个包下的跳转和不同包的跳转~
    (1)同包跳转--同一个package下面的action跳转:
    代码如下:
    JumpAction:
    public class JumpAction extends ActionSupport{
    
    	private static final long serialVersionUID = 1L;
    	
    	public String toA(){
    		System.out.println("toA");
    		return "a";
    	}
    	public String A(){
    		System.out.println("A");
    		return "b";
    	}
    
    }
    
    struts.xml:
    		    <action name="jump"
    		    class="com.xu.struts2.web.action.JumpAction">
    			<result name="a" type="redirectAction">
    			    <param name="namespace">/</param>
    			    <param name="actionName">jump</param>
    			    <param name="method">A</param>
    			 </result>
    			<result name="b" >
    			    /WEB-INF/jsp/index.jsp
    			 </result>
    		   </action>  
    效果图:


    (2)不同的俩个package下面的action跳转:
    在JumpAction中只需要一个方法~
    public class JumpAction extends ActionSupport{
    
    	private static final long serialVersionUID = 1L;
    	
    	public String toA(){
    		System.out.println("toA");
    		return "a";
    	}
    
    }
    在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>
        <constant name="struts.enable.DynamicMethodInvocation" value="true" />
        <constant name="struts.devMode" value="true" />
        <package name="default" namespace="/" extends="struts-default">
            
    		    <action name="jump"
    		    class="com.xu.struts2.web.action.JumpAction">
    			 <result name="a" type="redirectAction">
    			    <param name="namespace">/test</param>
    			    <param name="actionName">user</param>
    			    <param name="method">toIndex</param>
    			 </result>
    			<result name="index">
    			    /WEB-INF/jsp/index.jsp
    			 </result>
    		   </action>  
        </package>
        <package name="test" namespace="/test" extends="struts-default">
            <action name="user"
    		    class="com.xu.struts2.web.action.UserAction">
    			<result name="index">/WEB-INF/jsp/index.jsp</result>
    		</action>
        </package>
        <!-- <include file="example.xml"/> -->
    </struts>
    


    UserAction类中有那个方法:
    	
    	public String toIndex(){
    		System.out.println("跳转到首页");
    		return "index";
    	}
    效果图如下:


    注意:不是只有redirectAction可以在不同包跳转,chain也可以在不同包跳转~这里就不写代码了~
    3.全局跳转
    在struts.xml文件中添加如下代码:
    	<global-results>
    		<result name="success">/success.jsp</result>
    		<result name="error">/error.jsp</result>
    	</global-results> 
    作用:  将来在其他任何action中,如果有需要返回success字符串跳转到success.jsp或者返回error字符串跳转到error.jsp的时候,就不需要在单独定义,因为已经把这个俩个跳转定义成了全局的跳转,对当前package里面的所有action都起作用.同时还可以在某一个action中再重新定义一下这个俩个跳转,这个时候全局跳转就不会对这个action起作用了.
    效果图就不贴了~
    4.默认的跳转页面也就是默认的action
    在struts.xml文件中添加如下代码:
     <default-action-ref name="test"></default-action-ref>
    		<!-- test.action -->
    		<action name="test"
    		    class="com.xu.struts2.web.action.TestAction">
    		    <result name="success">/WEB-INF/jsp/index.jsp</result>
    		    <result name="login">/WEB-INF/jsp/login.jsp</result>
    			<result name="register">/WEB-INF/jsp/register.jsp</result>
    		</action>
    在TestAction中:
    	public String execute(){
    		// TODO Auto-generated method stub
    		return "register";
    	}

    作用:如果地址栏中访问到了当前package下面一个不存在的action的时候,正常情况下是会直接报错的,错误信息显示这个action找不到,但是我们一旦配置了这个默认的action之后,那么再去访问一个不存在的action就不会报错了,而是直接就去访问这个默认的action.这个默认的action需要我们在当前package里面定义出来,并且在<default-action-ref>标签中引用一下.
        注意:访问某个package下面action的时候有几种错误的情况:
           1.action找不到
           2.action找到了但是action对应的类找不到.
           3.action找到了,对应的类找到了,但是在类中要执行的方法没找到。
           4.action找到了,对应的类找到了,类中要执行的方法找到了,但是方法返回的字符串在<result>标签中没有定义.
           5.action找到了,对应的类找到了,类中要执行的方法找到了,方法返回的字符串在<result>标签也定义了出来,但是要跳转的页面没有找到.
    效果图如下:



    好了,写到这里就完成了~

    有什么疑问的可以问我啊微笑

    一起交流交流



    展开全文
  • Struts2中action跳转到另一个action方法

    千次阅读 2011-10-21 13:45:56
    Struts2中action跳转到另一个action方法 从action1直接跳转到action2,有两种方法: 1. 需要保存前一个action的属性信息时使用:  action2 2. 不保存前一个action的参数可以用这种方法:  ActionName ...
  • Action 跳转的方法和详解

    千次阅读 2017-04-07 16:49:02
    在实际项目中,我们难免遇到页面跳转,传参,actionaction之间的跳转,我们这时候则需要一些方法来完成,如下代码所示:<action name="login" class="loginAction.class"> ...
  • struts1框架 实现页面之间的跳转 从一个action 调到另一个action 实现参数传递, 不使用js,不能在页面传参,只能从后台Java传参,应该怎么传?
  • action跳转jsp页面时为什么页面样式会消失?![图片说明](https://img-ask.csdn.net/upload/201610/27/1477582535_821635.png) ![图片说明](https://img-ask.csdn.net/upload/201610/27/1477582689_358391.png)
  • Struts2 action跳转及重复执行

    千次阅读 2010-06-05 13:40:00
    一、action跳转 1、在不使用chain的情况下,从一个action进入另一个action   解决方案1:使用redirectAction方式。例子如下: <action name="insertAnswer" class="answerAction" method...
  • action跳转页面css和js失效问题解决

    千次阅读 2011-08-11 16:53:59
    当你在某个jsp页面跳转到action执行操作以后,再返回页面发现css和js全部失效,要刷新...问题原因在于action跳转回来以后的目录路径是你的action所配置的目录 如 /项目名/users.do 获得一下本地的绝对路径就可以解决
  • 资源中示例了一个struts2的配置文件中配置的action的result结果为另外一个action的配置,该跳转的过程中是带所有参赛调整的,在另外一个action中可以接受到当前action的所有参数,此配置文件是我日常开发中的经验...
  • action跳转时css和js失效问题解决

    千次阅读 2014-12-06 18:01:56
    根据观察,主要是由于通过action跳转后的url会根据命名空间,自动跳转到命名空间子目录,使得当前引用的css和js查找不到,从而失效,根据这个原因,可使用四种办法解决: 1.使用struts2.xml文件中配置文件的配置,...
  • http://qq398705749.iteye.com/blog/916413 Zend Framework中Controller之间action跳转方式  Views+ Zend Framework (ZF) 是一个开放源代码的 PHP5 开发框架,可用于来开 发 web
  • springmvc中form action="/add" 为什么跳转到了localhost:8080/add,而不是 localhost:8080/项目名/add
  • zf从一个controller的action跳转执行另一个controller action代码应该怎么写?   class ContactController extends Zend_Controller_Action { public function init() { $this->_helper->viewRenderer->setNoRe
  • 问题原因在于action跳转回来以后的目录路径是你的action所配置的目录 如 /项目名/users.do 获得一下本地的绝对路径就可以解决 下面是解决方法 [html] view plaincopyprin
  • <action path="/admin.catalog" forward=".admin.catalog"/> <action path="/admin.catalog.datas" extends="/query.base"> </action> ... # 第一个action中的forward是跳转到什么位置 为什么这么写
  • Struts2的action跳转问题

    2016-04-07 13:56:49
    在浏览器请求add的action,提交一个简单表单。 要实现的功能:在进行添加功能之后,页面自动跳转到展示界面显示数据。 遇到的问题:现在add执行之后成功保存数据,并成功执行到list的方法并返回SUCCESS,但是浏览器...
  • 初学ssh 基于注解的方式简单灵活,但是做一个例子的时候,添加用户AddUser 完成后 想页面跳转到 ListUser 这个action, 然后action 成功后 会跳转到list.jsp 显示 所以用户信息, 发现 网上几乎所有例子都是 @...
  • action1直接跳转action2,有两种方法: 1. 需要保存前一个action的属性信息时使用,保存住action1的request对象:  action2 2. 不保存前一个action的参数可以用这种方法:  action2 Str
  • 今天第一次写ssh项目,很简单的项目却频频出现问题,几乎每一次Action跳转后页面的css都失效,最后发现问题其实很简单的可以很方便解决: 首先在jsp页面中添加这一段代码: String path = request.getContextPath...
  • action1直接跳转action2,有两种方法: 1. 需要保存前一个action的属性信息时使用:  action2 2. 不保存前一个action的参数可以用这种方法:  ActionName GetBook /error.jsp
  • 情景: 一教授浏览界面 ...@Action(value="browseTeacherName",results={ @result(name="success",location="/browseTeacher.jsp")}) public String browse(){ .....省略 return "success"; }
  • action中 writer.write(jsonstr); return success; <result>data.html</result> data.html怎么获取jsonstr
  •  在SSH项目中页面的某个连接需要进行action跳转并传值,但是不知道为什么当在jsp中点击页面连接时,会出现无数个窗口,并出现类似下载的页面?  找了好久才知道原来是在struts中配置跳转时出现了重复的...
  • 为什么我使用webwork在web项目下面写action可以执行相应的execute方法并且跳转到相应的页面,但是同样地代码在osgi插件开发中为什么就是无法跳转到result定义的相应的页面
  • jsp:forward 请求Action跳转页面

    千次阅读 2012-10-19 12:02:56
    在项目中,我们可能需要将页面放到WEB-INF下,然后再用Action控制跳转页面。 这样做的好处是不需要做其他工作,就可以保证页面不被非法访问;而坏处也显而易见,页面不能被自由的访问了。 如果我们 在首页 jsp...
  • action1直接跳转action2,有两种方法:  1. 不保存前一个action的参数可以用这种方法:  action2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ...
  • 用代码实现页面Action跳转

    千次阅读 2010-03-17 14:27:00
    对于不同页面之间的跳转关系,可以在Task-Flow中通过Action进行指定和控制,除使用Common Component直接指定Action进行跳转外,还可以在Backing Bean中用代码实现Task-Flow中定义的页面跳转。本文将介绍如何在...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 192,178
精华内容 76,871
关键字:

action跳转