zoukankan      html  css  js  c++  java
  • webwork使用ajax传递实体类数据

    我们知道,webwork是类级别的拦截,一个类对应一个request上下文,webwork中的action中的一个方法可以对应一个url,acfion类中的所有方法共享action类中的所有变量。因此,当需要给url传递参数的时候,需要在action类中定义变量并给出相对应的getter和setter方法,才能在请求的时候传递参数。

    使用ajax传递单个的参数非常简单,通过参数名:参数值的形式即可。

    $.ajax({
        type: 'post',
        url: '/yanggb.action',
        data: {
            id: 'yanggb',
            code: 'yanggb',
            name: 'yanggb'
        },
        success: function() {
            alert('逐个传递单个参数成功');
        }
    });

    后台接收只需要定义单个普通类型的类成员属性即可。

    private String id;
    
    public String getId() {
        return id;
    }
    
    public void setId(String id) {
        this.id = id;
    }

    但是如果需要传递十几个参数呢,这样逐个定义类成员变量显然不现实,因此可以通过将这些类成员变量封装成一个对象类,然后定义一个类类型的类成员变量即可。

    public class Yanggb {
        private string id;
        private String code;
        private String name;
        
        // 省略gettter和setter
    }

    然后在action类中定义一个类类型的类成员变量,并添加相应的getter和setter方法。

    private Yanggb yanggb;
    
    public Yangggb getYanggb() {
        return yanggb;
    }
    
    public void setYanggb(Yanggb yanggb) {
        this.yanggb = yanggb;
    }

    最后,重点来了,在ajax中需要通过【对象名.属性名】的形式构造要传递的参数。

    $.ajax({
        type: 'post',
        url: '/yanggb.action',
        data: {
            ’yanggb.id': 'yanggb',
            'yanggb.code': 'yanggb',
            'yanggb.name': 'yanggb'
        },
        success: function() {
            alert('一次性传递多个参数成功');
        }
    });

    关键在于这个【.】符号,相当于一个分组,webwork会自动识别这个符号并将相应的属性值设置到对应的类(分组)的属性中。

    "随着年龄的增长会自动开启的,除了饮酒和做爱的合法权利,大概就只剩下生长之后的衰老。"

  • 相关阅读:
    51nod乘积之和
    Dell服务器安装OpenManage(OMSA)
    Nginx反向代理PHP
    搭建haproxy
    108. Convert Sorted Array to Binary Search Tree
    60. Permutation Sequence
    142. Linked List Cycle II
    129. Sum Root to Leaf Numbers
    118. Pascal's Triangle
    26. Remove Duplicates from Sorted Array
  • 原文地址:https://www.cnblogs.com/yanggb/p/12450530.html
Copyright © 2011-2022 走看看