`

使用struts2 redirect跳转不同命名空间方法

阅读更多

springsecurity教程

http://docs.oracle.com/javaee/1.4/tutorial/doc/Security5.html

http://lebuqi.com/forum.php?mod=viewthread&tid=22

http://code.google.com/p/family168/

 

 

在使用struts2 redirect跳转不同命名空间方法时:

环境:

@Results( {

                   @Result(name = CrudActionSupport.RELOAD, location = "account.action", type = "redirect"),

                   @Result(name = "main", location = "/fs/file-system.action", type = "redirect") })

public class AccountAction extends CrudActionSupport<User> {

         public String save() throws Exception {

                   return "main";

}

}

注意:使用上面方法需要在struts.xml中配置如下,主要是

<constant name="struts.convention.default.parent.package" value="crud-default" />

<package name="crud-default" extends="json-default">

<interceptors>

                   <interceptor-stack name="crudStack">

                            <interceptor-ref name="store">

                                     <param name="operationMode">AUTOMATIC</param>

                            </interceptor-ref>

<!-- 基于paramsPrepareParamsStack,增加store interceptor保证actionMessageredirect后不会丢失 -->

                            <interceptor-ref name="paramsPrepareParamsStack" />

                   </interceptor-stack>

         </interceptors>

<default-interceptor-ref name="crudStack" />

</package>

 

java.lang.IllegalStateException

         at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)

原因:我在客户端使用的是ajax提交,不知道为什么不能跳转,如果不用ajax,则该跳转没有问题

 

别人建议在方法上配置:

@Action(results={@Result(name="main",location = "/fs/file-system.action",type="redirect",params={"id","${id}","action","${action}","type","${type}"})})

 

 

关于使用struts2自带json问题:

@Action(results = { @Result(type = "json", name = "get", params = {"wrapPrefix", "[" }) })

         public String get() throws Exception {

                   return GET;

         }

 

如何解决用户注册后自动登录的问题:

首先,因为客户端登录的时候密码是由客户端自己加密,所以在CustomAuthenticationProcessingFilter中验证时不需要加密。

其次,在application-Context.xml中,密码采用明文方式,即在springsecurity过滤时不需要再次加密密码

<s:authentication-provider user-service-ref="userDetailsService">

                   <s:password-encoder hash="plaintext" />

                   <!-- <s:password-encoder hash="sha" base64="false"/> -->

         </s:authentication-provider>

 

最后,当用户注册结束后,我们使用一个跳转把用户名、密码和验证码等都自动提交,从而实现用户自动登录。

submitHandler: function(form) {

                                               $('#password').val($.sha1($('#password').val()));

                                               $(form).ajaxSubmit({

                                                        success: function(msg) {

                                                                 window.location = "${ctx}/j_spring_security_check?j_username=" + $('#loginName').val() + "&j_password=" + $('#password').val() + "&j_captcha=" + $('#j_captcha').val();

                                                        },

                                                        error: function(msg) {

                                                        }

                                               });

                                               return false;

                                     }

分享到:
评论

相关推荐

    struts2 跳转至404 页面的解决方案

    总之,解决Struts2跳转至404页面的问题需要对整个应用的配置进行仔细检查,从Action、命名空间、拦截器到结果类型、资源路径,甚至包括服务器和IDE的设置。理解Struts2的工作原理,结合日志信息,通常可以找出导致...

    struts2中result类型之redirect

    在Struts2框架中,`Result`类型是动作(Action)执行后的一种处理方式,它定义了动作执行完后页面跳转或者数据处理的行为。`Redirect`是`Result`类型中的一种,它涉及到Web应用程序中的URL重定向概念,对用户浏览器...

    struts2 result转向到action

    - **`redirect-action`**: 相对于 `redirect`,`redirect-action` 类型的 Result 只能用于重定向到当前应用中的另一个 Action,并且默认情况下只能在同一命名空间内跳转。这种方式不会改变浏览器地址栏中的 URL,...

    ·Struts2配置文件介绍 超级详细

    - **Result Types**:定义了不同类型的返回结果,如重定向到某个URL(`redirect`)、跳转到特定的JSP页面(`dispatcher`)等。 - **Action**:每个`action`元素对应着一个具体的业务逻辑处理方法。在`action`元素中,...

    redirect跳转

    ### Struts2中Redirect跳转深入解析 在Struts2框架中,`redirect`与`redirect-action`以及`chain`都是用于控制流程转向的关键技术,它们各有特点和适用场景,理解其工作原理对于构建高效、灵活的应用程序至关重要。...

    struts2基本类库

    配置文件中可以声明Action的命名空间、类、方法映射、结果类型等,是整个框架的蓝图。 3. **Interceptor(拦截器)**: 拦截器是Struts2的重要特性,它们按照预设的顺序在Action调用前后执行,可以用于日志记录、...

    struts2详细学习笔记

    常量配置的进阶使用可能涉及到动态配置、插件配置等,可以灵活调整Struts2的行为,以满足不同应用场景的需求。 总的来说,学习Struts2需要理解这些基本配置元素的含义和用法,以及如何通过常量配置来调整框架的行为...

    魔乐科技Struts2.x框架笔记

    **Package配置**:`&lt;package&gt;`元素是Struts2.x中的重要组成部分,它用于定义命名空间(Namespace),这有助于将不同的Action分组管理。通过`extends`属性可以继承默认的包,从而复用其Action和拦截器等配置。 **JSP...

    struts2 路径问题

    这篇博客文章可能探讨了在使用Struts2时遇到的路径相关问题,如Action配置、结果类型、静态资源访问等。 1. **Action配置**:在Struts2中,Action是业务逻辑的核心组件。每个Action通常对应一个特定的URL,这在...

    struts2的struts.xml文件的元素结构

    - `namespace`:命名空间,用于区分不同的功能模块,可以避免命名冲突。 2. **** 元素: - `&lt;action&gt;`:定义一个具体的动作,关联一个控制器类(Action)和一个或多个操作方法。 - `name`:动作名称,用户在URL...

    struts2核心包

    7. ** strut2-convention-plugin**:此插件使得开发者无需编写XML配置,只需遵循一定的命名规范,Struts2就能自动识别Action和Action方法。 8. **Tiles框架集成**:Struts2可以与Tiles框架无缝集成,用于构建复杂的...

    struts2的result标签使用

    这里的`param`标签用于传递参数,`actionName`和`namespace`分别表示要跳转的Action名和命名空间。 ### 6. 动态结果 动态结果允许根据Action的返回值动态选择Result。例如: ```xml ${resultType} ``` 在这里,`...

    Struts2技术总结

    6. **灵活的结果类型:** Struts2支持多种结果类型,包括dispatcher(转发)、redirect(重定向)、chain(链式调用)等,使得页面跳转更加灵活多样。 #### 二、Struts2项目搭建与配置 要构建一个基于Struts2的Web...

    Struts2学习笔记

    - **概念**:命名空间是Struts2中用于组织Action的一种机制,每个Action可以通过指定的命名空间来访问。 - **路径确定**:命名空间决定了Action的访问路径。默认情况下,命名空间为空,这意味着所有未指定命名空间的...

    Struts2_result返回类型

    除了以上列出的,还有一些已废弃的返回类型,如`redirect-action`和`plaintext`,它们分别对应于`redirectAction`和`plainText`,但在Struts 2.1.0之后不再推荐使用,而是推荐使用camelCase命名的版本。 选择正确的...

    2012struts2读书笔记

    `namespace`属性定义了Action的命名空间,用于区分不同的功能模块。`extends`属性则指定了当前包继承自哪个基础包,通常会继承`struts-default`,以便获取默认的配置。Action可以通过`&lt;action&gt;`元素定义,其中`name`...

    struts2心得.docx

    3. **Action查找顺序**:当Struts2处理请求时,首先会在当前命名空间下查找匹配的Action,如果找不到,则会查找默认命名空间下的Action。 4. **Action配置默认值**:通常,一个Action的基本配置如下: ```xml ...

    Struts2框架的配置

    本文将详细介绍Struts2框架中struts.xml配置文件的结构和关键元素,以及JSP页面中使用的标签。 首先,struts.xml是Struts2框架的核心配置文件。它由一个或多个元素组成,每个元素代表一个独立的命名空间,用于隔离...

    Struts2基础总结-1

    以上内容概括了Struts2框架的基础配置与使用方法,包括环境搭建、配置文件编写、Action的创建和配置、数据获取和封装等方面的知识点。对于初学者来说,理解这些基础知识是非常重要的,它能够帮助开发者快速上手...

Global site tag (gtag.js) - Google Analytics