zoukankan      html  css  js  c++  java
  • 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的传值方法还有很多,需要大家一点点的挖掘

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

  • 相关阅读:
    elasticsearch 中的Multi Match Query
    activiti 流程部署的各种方式
    elasticsearch 嵌套对象之嵌套类型
    elasticsearch Java High Level REST 相关操作封装
    elasticsearch 字段数据类型
    ubuntu 安装 docker
    elasticsearch 通过HTTP RESTful API 操作数据
    facenet 人脸识别(二)——创建人脸库搭建人脸识别系统
    POJ 3093 Margaritas(Kind of wine) on the River Walk (背包方案统计)
    墨卡托投影, GPS 坐标转像素, GPS 坐标转距离
  • 原文地址:https://www.cnblogs.com/zhouguanglin/p/7465094.html
Copyright © 2011-2022 走看看