KiminaPera 2019-01-14 12:47 采纳率: 50%
浏览 661
已结题

通过ajax提交的后台的数据实现不了赋值

前台提交的代码,在后台通过属性注入不进去的问题
前台表单代码:

<form id="editForm" method="post">
                <table>
                    <tr>
                        <td><input class="easyui-textbox" hidden="true" type="text" name="dep.uuid" data-options="required:true"></input></td>
                    </tr>
                    <tr>
                        <td>部门名称:</td>
                        <td><input class="easyui-textbox" type="text" name="dep.name" data-options="required:true"></input></td>
                    </tr>
                    <tr>
                        <td>部门联系电话:</td>
                        <td><input class="easyui-textbox" type="text" name="dep.tele" data-options="required:true"></input></td>
                    </tr>
                    <tr>
                        <td>
                            <button id="editBtn" type="button" class="easyui-linkbutton">编辑</button>
                            <button id="clearBtn" type="button" class="easyui-linkbutton" onclick="clearForm('editForm')">重置</button>
                        </td>
                    </tr>
                </table>
            </form>

给后台发送的请求:
图片说明
struts的action配置

<struts>
    <package name="erp" extends="struts-default" namespace="/">
        <action name="depAction_*" class="depAction" method="{1}"></action>
    </package>
</struts>

depAction里面定义的dep的属性驱动以及add方法

//属性驱动
    private Dep dep;

    public void setDep(Dep dep) {
        this.dep = dep;
    }

/**
     * 添加部门
     */
    public void add() {
        System.out.println(dep.getName() +"---"+dep.getTele());
        try {
            depBiz.add(dep);
            returnOptionMessage(true, "添加成功!");
        } catch (Exception e) {
            returnOptionMessage(false, "添加失败");
            e.printStackTrace();
        }
    }
//部门的实体类
public class Dep {

    private Long uuid;       //部门ID
    private String name;     //部门名称
    private String tele;     //部门电话
    public Long getUuid() {
        return uuid;
    }
    public void setUuid(Long uuid) {
        this.uuid = uuid;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getTele() {
        return tele;
    }
    public void setTele(String tele) {
        this.tele = tele;
    }

图片说明

  • 写回答

3条回答 默认 最新

  • 蓝色小马哥 2019-01-14 13:02
    关注

    方法1:先设置同步在进行Ajax操作
    //在全局或某个需要的函数内设置Ajax异步为false,也就是同步
    $.ajaxSetup({
    async : false
    });
    //然后再进行你的Ajax操作
    $.post(地址, 参数, function(data, status) {
    if (status == "success") {
    //赋值给全局变量
    }
    else {
    alert("wrong");
    }
    });
    方法2:直接用$.ajax
    $.ajax({
    type : "post",
    url :地址,
    data : "参数" + 参数的值,
    async : false,
    success : function(data){
    //赋值给全局变量;
    }
    });

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料