因为我们是在开发模式下所以 使用displaytag标签时候会出下面的错误
ognl.InappropriateExpressionException: Inappropriate OGNL expression: (d - 16544) - s
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:273)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:187)
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:195)
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.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
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:191)
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.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
expr: d-16544-s val: [Ljava.lang.String;@ecabac context: ognl.OgnlContext@2578be3e root:[com.aqms.web.action.role.DisplayTagRoleAction@1e6612c, com.opensymphony.xwork2.DefaultTextProvider@15960fd] value: [Ljava.lang.String;@ecabac
这样的问题在于我们开发模式时候设置的参数有关
<!-- 开发模式下使用,这样可以打印出更详细的错误信息-->
<constant name="struts.devMode" value="true" />
value值设置为false就ok了!!! :wink: :wink: :wink: :wink: :wink:
分享到:
相关推荐
这篇博客文章《Struts2中使用displaytag标签总结》很可能是讨论如何在Struts2框架下集成并利用DisplayTag库来高效地处理表格显示。 DisplayTag标签库包括一系列自定义JSP标签,这些标签能够帮助开发者快速创建美观...
2. 使用 `<display:table>` 标签来展示数据: ```jsp ``` 在这个例子中,`<display:table>` 标签的 `name` 属性指向了存储数据的 List 对象,而 `<display:column>` 标签则指定要显示的属性及其标题。...
在使用DisplayTag时,首先需要在项目的`WEB-INF/lib`目录下添加DisplayTag的JAR包。接着,在`web.xml`配置文件中注册DisplayTag的标签库描述符,这样就可以在JSP页面中使用DisplayTag的标签了。 以下是一些常见的...
2. **多表查询结果集**:当涉及多表联查时,可以使用HQL或SQL语句构建复合查询,将结果封装进自定义的对象集合中。 3. **优化分页查询**:为了提高性能,避免每次翻页时都查询全量数据,可以自定义SQL语句,利用...
Struts2、DisplayTag和DbUtil是Java Web开发中常用的三个框架或库,它们在构建高效、可维护的Web应用程序中发挥着重要作用。 Struts2是Apache软件基金会下的一个开源MVC(Model-View-Controller)框架,它提供了一...
7. `displaytag`: 最后,这个目录很可能包含了Displaytag的核心源码,包括了所有处理表格渲染、数据处理和用户交互的类和接口。 通过深入研究这些源码,开发者可以了解到Displaytag如何处理大数据分页,以及它是...
2. **使用 `<display:column/>` 标签** 当需要自定义列名或仅显示特定属性时,就需要使用`<display:column/>`标签。例如: ```jsp ``` 其中,`property`属性指定了对象的getter方法,`title`属性...
Displaytag 是一个开源的 JSP 标签库,专门用于创建数据表格,提供了一组易于使用的标签,可以实现复杂的表格功能,如分页、排序、导出等。在本文中,我们将详细讨论 Displaytag 1.1 版本的使用方法。 **一、...
### DisplayTag 使用指南详解 #### 一、简介 DisplayTag 是一个开源的 Java Web 标签库,主要用于处理数据表格的展示与交互。它能够帮助开发者轻松地将 JavaBean 集合转换成 HTML 表格,并且支持排序、分页等功能...
DisplayTag 是一个强大的开源表格显示标签库,专为MVC模式设计,可以在Java Web应用程序中方便地处理数据展示。DisplayTag 提供了丰富的功能,包括表格分页、数据导出、列分组以及排序,极大地简化了开发人员的工作...
在使用DisplayTag时,需要依赖一些特定的JAR(Java Archive)文件来运行和构建项目。 本压缩包文件"displaytag-1.2"包含了DisplayTag库的1.2版本。以下是关于DisplayTag以及其相关JAR文件的一些关键知识点: 1. **...
DisplayTag 是一个强大的开源Java库,专为Web开发设计,提供了一组标签,用于简化HTML表格的创建和操作。...通过深入理解和熟练使用DisplayTag,开发者可以轻松处理复杂的表格需求,同时保持代码的简洁和可维护性。
最基本的使用方式是在JSP页面中设置`<display:table>`标签,将一个集合对象(如List)赋值给`name`属性,DisplayTag会自动遍历集合中的每个对象,显示其所有公共getter方法对应的属性。例如: ```jsp ( "test", ...
在使用DisplayTag时,主要涉及以下几个步骤: 1. **引入依赖**:将下载的displaytag.jar文件添加到项目的类路径中,如果是Maven项目,可以在pom.xml中添加相应的依赖。 2. **配置DisplayTag**:在web.xml中进行必要...
通过使用DisplayTag 1.2,开发人员可以更专注于业务逻辑,而不用花费大量时间在表格展示的细节上,从而提高了开发效率和代码的可维护性。同时,由于其强大的功能和良好的社区支持,DisplayTag已经成为许多Java Web...
Struts2和DisplayTag是Java Web开发中两个重要的框架,它们在构建动态、交互式的Web应用时发挥着关键作用。DisplayTag是一个功能强大的开源库,主要用于生成表格和提供分页功能,而Struts2则是一个MVC框架,用于处理...
DisplayTag 是一个开源的Java Web开发中的表格标签库,它为网页开发者提供了强大的表格展示功能。DisplayTag 1.1.1是该库的一个版本,它包含了一系列预定义的JSP标签,使得创建复杂的、可分页、可排序、可导出的表格...
### DisplayTag插件的使用方法详解 #### 一、引言 在Web开发过程中,特别是使用Java技术栈进行开发时,经常会遇到需要展示大量数据的情况,例如用户列表、订单列表等。为了更方便地实现这样的功能,开发者通常会...
DisplayTag是一个开源的...总的来说,DisplayTag项目是学习和理解如何使用DisplayTag库创建高效、功能丰富的表格应用的一个很好的起点。通过实践这个项目,你可以掌握如何在实际项目中整合和利用DisplayTag的强大功能。
2. **Struts与DisplayTag的集成** 在Struts项目中使用DisplayTag,首先需要将其依赖添加到项目的类路径中。这通常通过在`pom.xml`(如果是Maven项目)或`build.gradle`(Gradle项目)中添加DisplayTag的依赖实现。 ...