首页 > 其他分享 >Struts2+extjs (Json)

Struts2+extjs (Json)

时间:2023-05-06 11:35:59浏览次数:42  
标签:form success Json Struts2 jsp 跳转 action message extjs


         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

 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、测试,登录不成功界面

Struts2+extjs   (Json)_数据

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

标签:form,success,Json,Struts2,jsp,跳转,action,message,extjs
From: https://blog.51cto.com/iwtxokhtd/6249307

相关文章

  • struts2 + extjs
     extjs整合struts2:要导入的包很重要,很多demo就是没有说清楚这个,导致无法安装他们的博文进行演示。那么接下去,就简单了。struts.xml的配置Xml代码1.<?xmlversion="1.0"encoding="UTF-8"?>2.<!DOCTYPEstrutsPUBLIC3."-//ApacheSoftwareFoundation//D......
  • servlet + Extjs + ext.ajax.request(亲测可用)
     1.js代码 Ext.onReady(function(){Ext.Ajax.request({url:"AjaxServlet.do?name=里杂谈",//url:"AjaxServlet.do",method:"get",//params:{name:"xxx"},suc......
  • 关于docker的/etc/docker/key.json文件说明
    对于刚安装完docker,是没有/etc/docker/key.json这个文件的,也不会有/etc/docker/目录 但是当我们启动或者重启docker后,就会自动创建上面的目录,以及生成/etc/docker/key.json文件[root@qq-5201351~]#systemctlrestartdocker关于/etc/docker/key.json这个文件,有如下几......
  • JSONP跨域的原理解析
    JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的安全性限制,被称为“Same-OriginPolicy”(同源策略)。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。 JavaScript这......
  • 提取最新的各国疫情数据中json字符串
    1.正则表达式提取json字符串:   -----------------------------------------------------------------初始数据-----------------------------------------------------------------try{window.fetchIndexMallList={"success":true,"errorCode":0,"result......
  • ExtJs学习之Button(08)
    最少代码:HelloWorld.html源文件下载点击事件<linkrel="stylesheet"href="theme-gray-all.css"><!--样式--><scriptsrc="ext-all.js"></script><!--行为--><script>Ext.onReady(function(){/*-自己写的代码--开始--......
  • Json工具类
    publicclassJsonUtils{privatestaticSerializeConfigmapping=createConfig();publicJsonUtils(){}privatestaticSerializeConfigcreateConfig(){SerializeConfigconfig=newSerializeConfig();config.put(Date.class,newS......
  • ENOENT: no such file or directory, open 'D:\Idea lorkSpacecjccx-ui\package.js
     启动项目报找不到package.json找到你项目的package.json的路径 然后cd 这个路径 然后就解决了......
  • JsonPath 简单使用
    1.JsonPath的介绍JsonPath是一种简单的方法来提取给定JSON文档的部分内容。JsonPath有许多编程语言,如Javascript,Python和PHP,Java。JsonPath提供的json解析非常强大,它提供了类似正则表达式的语法,基本上可以满足所有你想要获得的json内容。2.导入依赖<dependency><groupId......
  • Vite | package.json之script配置多模式
    package.json是一个常用的配置文件,用于描述你的JavaScript项目。其中,scripts字段可以用来定义一组命令,用于开发、构建、测试和部署你的应用程序。下面是一些常用的命令和配置方式:开发dev:用于启动本地开发服务器。例如:"scripts":{"dev":"vite"}在上述配置中,dev命......