• Struts2.5 利用Ajax将json数据传值到JSP


    AJAX +JSON=》JSP

    AJAX 


      AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
    通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
    传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。

    JSON


      JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

    利用Ajax将json数据传值到JSP


    第一步:在你的Action中创建一个json数据

    public class AjaxAction extends ActionSupport{
        /**
         * 
         */
        private static final long serialVersionUID = 1L;
        private String  result;
        public String getResult() {
            return result;
        }
        public void setResult(String result) {
            this.result = result;
        }
    public  String  getjson() {
         JSONObject json = new JSONObject();  
        json.put("name","张三");
            json.put("password","123456");
        result=json.toString();
        return SUCCESS;
    }    

    第二步:编写struts.xml文件中的内容

    <?xml version="1.0" encoding="UTF-8"?>
     <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">
        <struts>
        <!-- 设置开发者模式 修改action中的名字可以不用重启服务器 -->
        <constant name="struts.devMode" value="true"></constant>
        <!-- 只有在后缀中有(.do)的才经过,这个value可以自己修改 -->
        <constant name="struts.action.extension" value="do"></constant>
        <!-- 开启动态方法调用 -->
         <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
            <package name="default" extends="json-default"  namespace="">
                <action name="ajax" class="com.action.AjaxAction"  method="getjson">
                <result name="success">/ajaxjson.jsp</result>
                <result type="json" >
    <!-- 这里指定将被Struts2序列化的属性,该属性在action中必须有对应的getter方法 -->
    <param name="root">result</param> </result> </action> </package> </struts>

    凡是使用Struts2序列化对象到JSON的action,所在的package必须继承自json-default,注意,这里唯一的result,没有指定name属性。parm设置name=“root”表示局部刷新,返回根目录页面.

    第三步:首先先了解Ajax的原理:这是用jQuery做的,需要引  js

    function testCheck(num){
            $.ajax({
                type:"post",//提交方式
                url:"TestCheckServlet",//提交地址
                async:true,//是否异步请求
                dataType:"html",//返回类型
                data:{"num":num},//传过去的值
                success:function(data,textStatus){//成功执行的方法
                    var json=eval("("+data+")");//将传过来的数据转json,也可以传过来就是json数据免得麻烦转
                     alert(json.name);
                },
                error:function(){//失败执行的方法
                    alert("error");
                }
            })
        } 

    JSON的传值方法还有很多,需要大家一点点的挖掘

          【版本声明】本文为博主原创文章,转载请注明出处

  • 相关阅读:
    使用 git 及 github
    layUi数据表格自动渲染
    Linux下Tomcat重新启动 和查看日志
    禁止页面后退js(兼容各浏览器)
    通俗讲解计算机网络五层协议
    浏览器与服务器交互的过程
    转载 为什么会有前后端分离
    Kubernetes & Docker 容器网络终极之战(十四)
    Kubernetes 配置管理 Dashboard(十三)
    Kubernetes 配置管理 ConfigMap(十二)
  • 原文地址:https://www.cnblogs.com/zhouguanglin/p/7465094.html
Copyright © 2020-2023  润新知