[@APPNAME@] WARN [http-8080-1] OgnlValueStack.warn(49) | Error setting value ognl.ExpressionSyntaxException: Malformed OGNL expr

 

[@APPNAME@] WARN [http-8080-1] OgnlValueStack.warn(49) | Error setting value

ognl.ExpressionSyntaxException: Malformed OGNL expression: 402880f6262a958001262a9bdd8a0003 [ognl.ParseException: Encountered "6262" at line 1, column 8.

Was expecting one of:

    <EOF>

    "," ...

    "=" ...

    "?" ...

    "||" ...

    "or" ...

    "&&" ...

    "and" ...

    "|" ...

    "bor" ...

    "^" ...

    "xor" ...

    "&" ...

    "band" ...

    "==" ...

    "eq" ...

    "!=" ...

    "neq" ...

    "<" ...

    "lt" ...

    ">" ...

    "gt" ...

    "<=" ...

    "lte" ...

    ">=" ...

    "gte" ...

    "in" ...

    "not" ...

    "<<" ...

    "shl" ...

    ">>" ...

    "shr" ...

    ">>>" ...

    "ushr" ...

    "+" ...

    "-" ...

    "*" ...

    "/" ...

    "%" ...

    "instanceof" ...

    "." ...

    "(" ...

    "[" ...

    <DYNAMIC_SUBSCRIPT> ...

    ]

    at ognl.Ognl.parseExpression(Ognl.java:116)

    at com.opensymphony.xwork2.ognl.OgnlUtil.compile(OgnlUtil.java:207)

    at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:192)

    at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:155)

    at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:143)

         ......

网上有人给出的解决方法是:


打开log4j.properties 加入:

 log4j.logger.com.opensymphony.xwork2=ERROR

 其实这不是解决问题,而是一种逃避,因为这并没有认为是一种严重的ERROR,而只是定位于WARN警告级别。他这样做只是不让控制台报出这个错而已。

 

网速不行中午再说.....

 

时隔快两个月才来说,o(∩_∩)o...哈哈

终于找到当初所留下的笔记。

【我所遇到的原因】:

       在前台页面传给后台的参数为:id=value

       由于我要对一个表里的记录中的某一个字段设置一个值,所以刚开始我就传id1=value1&id2=value2...

       402880f6262a958001262a9bdd8a0003=Release,但是按照变量命名规则这是不合法的。

【解决方法】:在id前加上一个前缀Tab_,即:Tab_402880f6262a958001262a9bdd8a0003=Release

     在后台就可根据

    //(从页面获取到的参数:name:Tab_+栏目分类ID号,value:Default(最新上传)/Release(已发布))
    //  补充说明:name前加上“Tab_”前缀的原因是解决ONGL对name格式的要求,避免报错

    String value = request.getParameter("Tab_"+obj.getId());

  同时也需注意:表单中域使用了以数字开头的name值 

你可能感兴趣的:(String)