开发者社区> 问答> 正文

关于struts2的传值问题?报错

新人想问下 关于Struts2框架的web项目的传值问题


网页代码

function updateCustomerType(id,type){
            $.ajax({
                url :  "<%=contextPath%>/cus/abnormalCus!updateCoustmoerType.action",
                data : {
                    "customer.cusId" : id,
                    "customer.customerType" : type
                },
                type : "post",
                cache : false,
                async : false,
                success : function(result) {
                    window.location.reload();
                },
                error : function(error) {
                    //alert(error);
                }
            });
    } 


实现代码

private CustomerUpdateTypeDTO customerUpdateTypeDTO;

  /** 修改用户级别 */

    public String updateCoustmoerType() {
        try {
            iCustomer.updateType(customerUpdateTypeDTO);
        } catch (Exception e) {
            logger.error("AbnormalCustomerAction.updateCoustmoerType", e);
            return ERROR;
        }
        return null;

    }


public CustomerUpdateTypeDTO getCustomerUpdateTypeDTO() {
        return customerUpdateTypeDTO;
    }

    public void setCustomerUpdateTypeDTO(CustomerUpdateTypeDTO customerUpdateTypeDTO) {
        this.customerUpdateTypeDTO =  customerUpdateTypeDTO;
    }

实体代码


public class CustomerUpdateTypeDTO implements Serializable{
    
    private static final long serialVersionUID = 1L;
    
    
    private Integer cusId;
    private Integer customerType;
    
    
    public Integer getCusId(){
        return cusId;
    }

    public void setCusId(Integer cusId){
        this.cusId = cusId;
    }
    
    public int getCustomerType() {
        return customerType;
    }

    public void setCustomerType(Integer customerType) {
        this.customerType = customerType;
    }

}

报错

[WARN]-17:51:01-OgnlValueStack - Error setting expression 'customer.customerType' with value '[Ljava.lang.String;@54218eec'
ognl.OgnlException: target is null for setProperty(null, "customerType", [Ljava.lang.String;@54218eec)

at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:2326)
    at ognl.ASTProperty.setValueBody(ASTProperty.java:127)
    at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
    at ognl.SimpleNode.setValue(SimpleNode.java:301)
    at ognl.ASTChain.setValueBody(ASTChain.java:227)
    at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:220)
    at ognl.SimpleNode.setValue(SimpleNode.java:301)
    at ognl.Ognl.setValue(Ognl.java:737)
    at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:234)



我一开始int 类型 出的这个问题 网上找了找好像是什么类型不对的问题  然后看到有人改成Integer 但是我改了后还是不行 求各位大神帮忙看看 任务期限快到了 卡在这里一天了!!

展开
收起
爱吃鱼的程序员 2020-06-10 13:47:33 501 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    应该是你ajax这里写的有问题,

    而且该用OGNL表达式的用表达式写。action没贴出来没法具体分析

    恩问题找到了确实是ajax的问题

    1发代码请格式化

    2发action类代码

    你那种往action传值是不对的,ajax把你的传的参数封装成customer对象,你在后台定义customer对象就好了
    2020-06-10 13:47:48
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载