ExtJs+Json+Struts2整合开发

ExtJs+Json+Struts2整合开发

2009-09-12 10:51:27 |  分类: 默认分类 |  标签: | 字号   订阅

        web开发过程中,经常需要使用Ajax进行数据的交互。ExtJs表单提交默认使用异步的方式,若使用Struts2的Action进行数据的处理,则需要返回一个Json数据客户端才会收到服务器的处理结果,我们使用jsonplugin插件从Action中返回结果给用户,下面我们就来实现这一方法:

 1、下载jsonplugin插件,网址是:http://code.google.com/p/jsonplugin/

 2、将下载的jar文件拷贝到你的web工程下的lib文件夹中。

 3、客户端js提交动作部分代码:

if (win.getComponent('loginForm').form.isValid()) { //'loginForm'为表单id
        win.getComponent('loginForm').form.submit({
           url : './userLogin.action',
           waitTitle : '正在登陆',
           method : 'POST',
           waitMsg : '服务器正在验证,请稍候......',
           success : function(form, action) {
            
            if (action.result.success) {
             // 登录成功,页面跳转
             window.location = "./main.jsp"
            }
           },
           failure : function(form, action) {
            Ext.MessageBox.alert("登录失败",
              action.result.message);
           }
          });
       }

 4、编写action,以用户登录为例

     public class ActionTest extends ActionSupport {

             private boolean success;

             private String message;

             private User user; //模型对象

             public String execute() throws Exception {

                 User useReg = vlidate(user);//验证用户是否存在

                  if(useReg !=null){

                     this.success = true;
                     this.message = "测试通过";

                  }else{

                      this.success = false;
                      this.message = "对不起,未授权用户不能使用该系统!";

                  }

                    return SUCCESS;
             }

        //下面省略get和set方法

    }

提交成功返回数据位:{"success":true,"message":"测试通过"}

提交失败返回数据位:{"success":false,"message":"对不起,未授权用户不能使用该系统!"}

注意:action中必须最后返回SUCCESS 才能返回该Json数据,若设置其它返回结果则客户端一直是提交状态。

 5、在struts.xml文件中配置action

<action name="actionTest" class="com.action.actionTest"><!--class属性为action完整路径-->
   <result name="success">/login.jsp</result><!--必须配置success,否则会出错-->
   <result type="json" />
  </action>

6、测试,登录不成功界面

ExtJs+Json+Struts2整合开发 - 秋落有声 - wyffywwyf 的博客

登录成功会自动转到你希望跳转的页面,需要说明的是,不管你在 <result name="success">/login.jsp</result>配置什么值,Struts2都不会根据你的设置进行跳转,这是 因为我们使用了Ajax提交表单数据,所以页面的跳转还需要使用:window.location = "./main.jsp" 进行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值