- 浏览: 740841 次
- 性别:
- 来自: 郑州
文章分类
- 全部博客 (396)
- JAVA (50)
- ORACLE (22)
- HIBERNATE (1)
- SPRING (26)
- STRUTS (4)
- OTHERS (0)
- MYSQL (11)
- Struts2 (16)
- JS (33)
- Tomcat (6)
- DWR (1)
- JQuery (26)
- JBoss (0)
- SQL SERVER (0)
- XML (10)
- 生活 (3)
- JSP (11)
- CSS (5)
- word (1)
- MyEclipse (7)
- JSTL (1)
- JEECMS (2)
- Freemarker (8)
- 页面特效 (1)
- EXT (2)
- Web前端 js库 (2)
- JSON http://www.json.org (3)
- 代码收集 (1)
- 电脑常识 (6)
- MD5加密 (0)
- Axis (0)
- Grails (1)
- 浏览器 (1)
- js调试工具 (1)
- WEB前端 (5)
- JDBC (2)
- PowerDesigner (1)
- OperaMasks (1)
- CMS (1)
- Java开源大全 (2)
- 分页 (28)
- Eclipse插件 (1)
- Proxool (1)
- Jad (1)
- Java反编译 (2)
- 报表 (6)
- JSON (14)
- FCKeditor (9)
- SVN (1)
- ACCESS (1)
- 正则表达式 (3)
- 数据库 (1)
- Flex (3)
- pinyin4j (2)
- IBATIS (3)
- probe (1)
- JSP & Servlet (1)
- 飞信 (0)
- AjaxSwing (0)
- AjaxSwing (0)
- Grid相关 (1)
- HTML (5)
- Guice (4)
- Warp framework (1)
- warp-persist (1)
- 服务器推送 (3)
- eclipse (1)
- JForum (5)
- 工具 (1)
- Python (1)
- Ruby (1)
- SVG (3)
- Joda-Time日期时间工具 (1)
- JDK (3)
- Pushlet (2)
- JSP & Servlet & FTP (1)
- FTP (6)
- 时间与效率 (4)
- 二维码 (1)
- 条码/二维码 (1)
最新评论
-
ctrlc:
你这是从web服务器上传到FTP服务器上的吧,能从用户电脑上上 ...
jsp 往 FTP 上传文件问题 -
annybz:
说的好抽象 为什么代码都有两遍。这个感觉没有第一篇 和第二篇 ...
Spring源代码解析(三):Spring JDBC -
annybz:
...
Spring源代码解析(一):IOC容器 -
jie_20:
你确定你有这样配置做过测试? 请不要转载一些自己没有测试的文档 ...
Spring2.0集成iReport报表技术概述 -
asd51731:
大哥,limit传-1时出错啊,怎么修改啊?
mysql limit 使用方法
在Struts2中使用DisplayTag翻页时的ognl.InappropriateExpressionException解决方案
- 博客分类:
- 分页
在struts2中使用displayTag组件进行翻页 时出会出下面的异常,异常的原因是因为在翻页时传递的参数名不规范,使用了减号(如:?d-443618-p)
http://localhost:8088/HBM_Student/getDepartments.action?d-443618-p=1
而这个参数在提交时,strust2中的 ParametersInterceptor拦截器会对提交的参数进行验证,验证时使用的是正则表达式,原代码如下:
private String acceptedParamNames =
"[[\\p{Graph}\\s]&&[^,#:=]]*";
private Pattern acceptedPattern =
Pattern.compile(acceptedParamNames);
而定义的正则表达式中不支持减号(-),所以才出现下面异常。
解决方法:
在自己项目src中创建包,包名只能为:com.opensymphony.xwork2.interceptor
1. 创建类:ParametersInterceptor
2. 复制Struts2中的xwork-2.1.2.jar包中的 com.opensymphony.xwork2.interceptor.ParametersInterceptor文件内容,并粘贴到刚创建的类 中。
3. 找到正则表达式的代码,加入减号:
private String acceptedParamNames = "
-
[[\\p{Graph}\\s]&&[^,#:=]]*";
private Pattern acceptedPattern =
Pattern.compile(acceptedParamNames);
至此,问题真正的解决。
这里说一下,网上有同志说把struts.devMode值设为false,这种方式并一定会起作用,但我提供的方法一定有效。
21:07:56,953 WARN OgnlValueStack:49 - Error setting value
ognl.InappropriateExpressionException: Inappropriate OGNL expression: (d
- 443618) - p
at ognl.SimpleNode.setValueBody(SimpleNode.java:257)
at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
at ognl.SimpleNode.setValue(SimpleNode.java:246)
at ognl.Ognl.setValue(Ognl.java:476)
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)
at
com.opensymphony.xwork2.interceptor.ParametersInterceptor.setParameters(ParametersInterceptor.java:284)
at
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:198)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:206)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:148)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:93)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:128)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:104)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:148)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:128)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236)
at
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:468)
at
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
at
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:565)
at
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1509)
at java.lang.Thread.run(Thread.java:619)
评论
<logger name="com.opensymphony.xwork2.ognl.OgnlValueStack"> <level value="ERROR" /> </logger>
可能你那里的配置有问题 ,再检查检查了,我就是按上面一步一步,问题解决了
发表评论
-
displaytag 中文解决
2010-04-10 00:03 2272希望总在你想放弃的前一刻到来,这就算是对坚持的犒赏吧 ... -
扩展displaytag标签库
2010-04-09 11:28 1046下面是本人参考该URL扩展了下displaytag的标签库: ... -
extremeTable
2010-04-01 15:49 923extremeTable,又一个开源taglib ext ... -
extremeTable
2010-04-01 15:33 20960.概述 Home Pag ... -
【转】 在模板中分页,看Freemarker和 displaytag的结合
2010-04-01 14:46 2027Displaytag是一个很好的分页标签,它支持数据库端分页( ... -
displaytag1.1调用mssqlserver存储过程进行分页从数据库提取数据
2010-04-01 14:43 909原官方网http://displaytag.sourcef ... -
displaytag在struts中完成大数据量分页显示
2010-04-01 14:38 1296应用displaytag在struts中完成大数据量分页显 ... -
displaytag.properties
2010-04-01 14:01 2183displaytag.properties文件位于displa ... -
displaytag组件实现分页_DisplayTag应用指南_ DisplayTag七宗罪 _displaytag之中文(乱码)解决方案
2010-04-01 13:42 1776DisplayTag 应用指南 【摘 ... -
displaytag标签的使用手册
2010-04-01 13:39 14851.可以给它加上样式等 ... -
DisplayTag简单使用配置翻页
2010-04-01 13:36 1483首页http://displaytag.sourceforge ... -
displaytag标签 浅析
2010-04-01 13:25 1006DisplayTag是一个非常好用的表格显示标签,适合MVC模 ... -
displaytag.css文件中常用的样式说明及修改
2010-04-01 11:01 2664displaytag.css文件中常用的样式说明及修改 1. ... -
displaytag标签的常用属性和方法
2010-04-01 10:59 16621.可以给它加上样式等,也可以定义显示的列 ... -
Display Tag使用小记
2010-03-31 14:33 816... -
Struts中使用displaytag简单小教程
2010-03-31 14:26 1081... -
应用displaytag完成大数据量分页显示的例子
2010-03-31 14:23 1200应用displaytag在struts中完成大数据量分页显示, ... -
pager-taglib的安装和使用
2010-03-31 14:21 838... -
pager标记库(分页显示)详解
2010-03-31 14:19 1396一简介, Pager-taglib,支持多种风格的 ... -
displaytag与struts标签间的交互
2010-03-31 14:17 1338不知道为什么,在<display:table> ...
相关推荐
Struct.Hibernate.DisplayTag标签.js.Div.css.第4讲 希望对大家有帮助
displaytag-1.2.jar 显示标签
commons-beanutils.jar, commons-collections3-3.2.1.jar commons-lang-2.1.jar displaytag-1.2.jar 还有一个demo代码包,里面有displayTag的例子,帮助你学习 希望能帮助你
个人学习收集网上资料辛苦整理而成. DisplayTag分页资料整理.chm DisplayTag 分页 chm java taglib
NULL 博文链接:https://fangguanhong.iteye.com/blog/1908593
Struts2+displaytag+dbutil 可运行完整web工程 jdk1.6、1.7 tomcat6.0
displaytag-1.1.jar,显示表格的tag
Struts2整合DisplayTag 实现分页技术
displaytag1.2.jar 下载
displaytag-1.2-src.zip
07java培训displaytag分页实例六
[浪曦][原创][A337]Struts+Hibernate+DisplayTag标签+js+Div+css 第2讲(zk原创).rar
针对displaytag Excel导出中文乱码的情况,对其添加gbk编码,使其能顺利将中文导出excel
NULL 博文链接:https://zhouwenjun.iteye.com/blog/576868
通过修改源码的方式 解决displaytag中文排序问题.压缩包中包含1.0与1.1版本修改的源文件、编译后的文件,及修改后的jar包。
displaytag1.1显示排序分页导出自动标签
Struts2结合DisplayTag框架进行分页案例 有建表脚本 适合初学者
displayTag使用心得总结 displayTag使用心得总结