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){
    //赋值给全局变量;
    }
    });

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?