ognl.ExpressionSyntaxException: Malformed OGNL expression: nbsp;的解决
来源:互联网 发布:手机数据是什么 编辑:程序博客网 时间:2024/04/30 15:01
我的问题场景是这样的:
我用js获取页面html内容,如果html内容中一个地方仅含有一个空格,即 的时候,就不会有什么问题,一旦含有两个及以上连续空格的时候( )
struts2获取参数碰到& 后面内容就没了。
会报错误如下:
警告: Error setting value
ognl.ExpressionSyntaxException: Malformed OGNL expression: nbsp; [ognl.TokenMgrError: Lexical error at line 1, column 6. Encountered: <EOF> after : ""]
at ognl.Ognl.parseExpression(Ognl.java:119)
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)
..........................
问题肯定出在页面处理方法对“&”的支持上,我之前做的处理是encodeURI(contentString);结果就出了以上的问题了,
后来我的解决方式是将encodeURI换成encodeURIComponent,问题就解决了!
JS 自带的 escape() 、 encodeURI() 、 encodeURIComponent()这三个函数都可以用来对URI进行encode或过滤特殊字符(#/$&+=?/等)
我以前一般是习惯用encodeURI() ,不过最好用encodeURIComponent()(需要IE 5.5以上,FireFox当然没问题),因为对UTF-8支持比较好,
不会遇到中文乱码问题,否则还需要进行编码转换,很麻烦的。使用其它两个函数都会发生丢失特殊字符的问题,例如空格变+号或者空格,引号,&=?等
丢失的问题, 至少使用 JSP 作为服务器端的话会发生这种情况, 有兴趣的朋友可以将本文最后的例子代码中的编码部分修改后做个测试.
其实,这个问题,个人觉得还可以通过在页面上使用Base64加密然后再解密解决(不过这样麻烦,也没有试过!)
- ognl.ExpressionSyntaxException: Malformed OGNL expression: nbsp;的解决
- ognl.ExpressionSyntaxException: Malformed OGNL expression
- ognl.ExpressionSyntaxException: Malformed OGNL expression
- ognl.ExpressionSyntaxException: Malformed OGNL expression(Strust2)
- ognl.ExpressionSyntaxException: Malformed OGNL expression: gt.describe [ognl.ParseException: Encount
- ognl.ExpressionSyntaxException: Malformed OGNL expression: <?xml version [ognl.ParseException: Encountered " <" at line 1, colum
- [@APPNAME@] WARN [http-8080-1] OgnlValueStack.warn(49) | Error setting value ognl.ExpressionSyntaxException: Malformed OGNL expr
- Malformed OGNL expression: 6578706f7274 [ognl.ParseException: Encountered " <INT_LITERAL> "7274 "" a
- Inappropriate OGNL expression:
- Inappropriate OGNL expression
- ognl.InappropriateExpressionException: Inappropriate OGNL expression: 1
- ognl.InappropriateExpressionException: Inappropriate OGNL expression: 1
- ognl
- ognl
- OGNL
- OGNL
- OGNL
- OGNL
- SVN与Git比较
- android 中英混合字符串数组按首字母进行排序
- Android开发_如何设置按钮背景透明与半透明_图片背景透明
- postgresql 加解密
- 2012-04-24 14:34 struts2监听器首先要实现com.opensymphony.xwork2.interceptor.PreResultListener类
- ognl.ExpressionSyntaxException: Malformed OGNL expression: nbsp;的解决
- Android设置文字粗体的方法
- IntelliJ IDEA的Singleton模版的修改
- windows8中的ListView控件的属性
- weblogic启动报错,登录失败。
- 去掉 IBM Portal7 主题里多余的功能
- 黑马程序员_java入门_数组
- 解决XP 系统 .Net Framework 4安装时出现严重错误 (0x80070643)
- xp开发实践(学习笔记)