Error setting expression '.css' with value

最近出现一个奇怪的问题,就是当点击一个页面的时候,同一个action调用了两次,导致页面没有任何响应。

报错信息如下:

 WARN 2011-06-10 11:49:54,781 com.opensymphony.xwork2.util.logging.commons.CommonsLogger: Error setting expression '.css' with value '[Ljava.lang.String;@17cd18d'
ognl.ExpressionSyntaxException: Malformed OGNL expression: .css [ognl.ParseException: Encountered " "." ". "" at line 1, column 1.
Was expecting one of:
    ":" ...
    "not" ...
    "+" ...
    "-" ...
    "~" ...
    "!" ...
    "(" ...
    "true" ...
    "false" ...
    "null" ...
    "#this" ...
    "#root" ...
    "#" ...
    "[" ...
    "{" ...
    "@" ...
    "new" ...
    <IDENT> ...
    <DYNAMIC_SUBSCRIPT> ...
    "/'" ...
    "`" ...
    "/"" ...
    <INT_LITERAL> ...
    <FLT_LITERAL> ...
    ]
 at ognl.Ognl.parseExpression(Ognl.java:112)
 at com.opensymphony.xwork2.ognl.OgnlUtil.compile(OgnlUtil.java:214)
 at com.opensymphony.xwork2.ognl.OgnlUtil.setValue(OgnlUtil.java:198)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:161)
 at com.opensymphony.xwork2.ognl.OgnlValueStack.setValue(OgnlValueStack.java:149)

 

发现出现了一个变量名称为.css的,但是我们在调用的时候,并没有传此参数。

最后发现在一个js文件里,有这样一行代码:

 

function AddCss(){
var l=CreateEl("link");
l.setAttribute("type","text/css");
l.setAttribute("rel","stylesheet");
l.setAttribute("href","?.css");
l.setAttribute("media","screen");
document.getElementsByTagName("head")[0].appendChild(l);
}

注意第5行,设置href的时候,值为?.css。

这个在页面的显示html如下:

<link rel="stylesheet" type="text/css" href="?.css" media="screen"/>

 

在action给前台传输数据时,这时会把?后面的.css作为变量名称再次调用一次action,因为后台没有.css对应的set/get方法,并且.css也不符合java变量定义的语法所以报错。

将这行代码注释点后,就正常运行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值