«org.apache.tiles.request.render.CannotRenderException: невозможно отобразить атрибут, который не является строкой, toStJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 «org.apache.tiles.request.render.CannotRenderException: невозможно отобразить атрибут, который не является строкой, toSt

Сообщение Гость »


Я работаю над приложением Struts 2, интегрированным с плагином Tiles. Он отлично работает на моем локальном компьютере. Но когда я развертываю его на сервере UNIX и пытаюсь перейти от страницы входа к действию, использующему плитки, я получаю исключение CannotRenderException. Я использую Tomcat v9.

Вот соответствующий код:

Tiles.xml

Struts.xml

home.page домой /login.jsp?message=LOGIN_FAILURE /login.jsp?message=BC_LOGIN_FAILURE noHeader.jsp

Вот зависимости, которые я использую:

antlr-2.7.2.jar bsf-2.3.0.jar commons-beanutils-1.8.0.jar Commons-chain-1.2.jar Commons-кодек-1.14.jar commons-collections.jar commons-dbutils-1.1.jar Commons-Digester-2.0.jar commons-fileupload-1.5.jar commons-io-2.11.0.jar commons-lang3-3.12.0.jar commons-logging-1.0.4.jar commons-text-1.10.0.jar commons-validator-1.3.1.jar эль-api-1.0.jar кодировщик-1.2.3.jar файлы.txt freemarker-2.3.32.jar httpclient-4.5.12.jar httpcore-4.4.13.jar iText-2.1.7.jar javassist-3.29.0-GA.jar javax.el-3.0.1-b12.jar jcl-over-slf4j-1.7.6.jar json-simple-1.1.1.jar jsp-api-2.1.jar jstl-1.0.2.jar log4j-1.2.15.jar log4j-api-2.20.0.jar log4j-core-2.20.0.jar ognl-3.3.4.jar ojdbc6.jar оро-2.0.8.jar poi-3.2-FINAL-20081019.jar poi-contrib-3.2-FINAL-20081019.jar poi-scratchpad-3.2-FINAL-20081019.jar сервлет-api-2.5.jar slf4j-api-2.0.7.jar стандарт-1.0.6.jar Struts-el-1.3.10.jar struts-extras-1.3.10.jar стойки-лица-1.3.10.jar struts-mailreader-dao-1.3.10.jar struts-scripting-1.3.10.jar struts-taglib-1.3.10.jar struts2-config-browser-plugin-6.2.0.jar struts2-core-6.2.0.jar struts2-tiles-plugin-6.2.0.jar плитки-api-3.0.8.jar плитки-autotag-core-runtime-1.2.jar плитки-compat-3.0.8.jar плитки-core-3.0.8.jar плитки-эль-3.0.8.jar плитки-freemarker-3.0.8.jar плитки-jsp-3.0.8.jar плитки-ognl-3.0.8.jar плитки-запрос-api-1.0.7.jar плитки-запрос-freemarker-1.0.7.jar плитки-запрос-jsp-1.0.7.jar плитки-запрос-сервлет-1.0.7.jar плитки-сервлет-3.0.8.jar плитки-шаблон-3.0.8.jar xercesImpl-2.12.2.jar xwork-2.1.2.jar И вот исключение:

ОШИБКА org.apache.struts2.dispatcher.DefaultDispatcherErrorHandler — во время обработки запроса произошло исключение: невозможно отобразить атрибут, который не является строкой, toString возвращает: null org.apache.tiles.request.render.CannotRenderException: невозможно отобразить атрибут, который не является строкой, toString возвращает: нулевой в org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:255) ~[tiles-core-3.0.8.jar:3.0.8] в org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:397) ~[tiles-core-3.0.8.jar:3.0.8] в org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:238) ~[tiles-core-3.0.8.jar:3.0.8] в org.apache.tiles.TilesContainerWrapper.render(TilesContainerWrapper.java:103) ~[tiles-api-3.0.8.jar:3.0.8] в org.apache.tiles.impl.mgmt.CachingTilesContainer.render(CachingTilesContainer.java:126) ~[tiles-core-3.0.8.jar:3.0.8] в org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:158) ~[struts2-tiles-plugin-6.2.0.jar:6.2.0] в org.apache.struts2.result.StrutsResultSupport.execute(StrutsResultSupport.java:206) ~[struts2-core-6.2.0.jar:6.2.0] в com.opensymphony.xwork2.DefaultActionInvocate.executeResult(DefaultActionInvocation.java:377) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvocate.invoke(DefaultActionInvocate.java:284) ~[struts2-core-6.2.0.jar:6.2.0] в bcs.actions.SessionPreProcessor.intercept(SessionPreProcessor.java:53) ~[classes/:?] по адресу com.opensymphony.xwork2.DefaultActionInvoke.invoke(DefaultActionInvocate.java:256) ~[struts2-core-6.2.0.jar:6.2.0] в org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoction.executeConditional(DefaultActionInvocate.java:299) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoke.invoke(DefaultActionInvocate.java:253) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:179) ~[struts2-core-6.2.0.jar:6.2.0] в com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoction.executeConditional(DefaultActionInvocate.java:299) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoke.invoke(DefaultActionInvocate.java:253) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) ~[struts2-core-6.2.0.jar:6.2.0] в org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:49) ~[struts2-core-6.2.0.jar:6.2.0] в com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoction.executeConditional(DefaultActionInvocate.java:299) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoke.invoke(DefaultActionInvocate.java:253) ~[struts2-core-6.2.0.jar:6.2.0] в org.apache.struts2.interceptor.FetchMetadataInterceptor.intercept(FetchMetadataInterceptor.java:78) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoction.executeConditional(DefaultActionInvocate.java:299) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoke.invoke(DefaultActionInvocate.java:253) ~[struts2-core-6.2.0.jar:6.2.0] в org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoction.executeConditional(DefaultActionInvocate.java:299) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoke.invoke(DefaultActionInvocate.java:253) ~[struts2-core-6.2.0.jar:6.2.0] в org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:55) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoction.executeConditional(DefaultActionInvocate.java:299) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoke.invoke(DefaultActionInvocate.java:253) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143) ~[struts2-core-6.2.0.jar:6.2.0] в com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoction.executeConditional(DefaultActionInvocate.java:299) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvocate.invoke(DefaultActionInvocate.java:253) ~[struts2-core-6.2.0.jar:6.2.0] в com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:152) ~[struts2-core-6.2.0.jar:6.2.0] в com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoction.executeConditional(DefaultActionInvocate.java:299) ~[struts2-core-6.2.0.jar:6.2.0] по адресу com.opensymphony.xwork2.DefaultActionInvoke.invoke(DefaultActionInvocate.java:253) ~[struts2-core-6.2.0.jar:6.2.0] в com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:152) ~[struts2-core-6.2.0.jar:6.2.0] в com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99) ~[struts2-core-6.2.0.jar:6.2.0] Я пробовал закомментировать атрибуты как в tiles.xml, так и в noHeader.jsp, опуская имеющийся у меня собственный перехватчик, используя разные файлы tiles-config dtd и проверяя правописание шаблонов и значений. Я также убедился, что сервер приложений имеет необходимые разрешения. Кроме этого, я не знаю, что еще попробовать.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • JspTaglib ["http://tiles.apache.org/tags-tiles"] не определен: его нельзя назначить плиткам.
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Ошибка org.apache.tiles.TilesException: атрибут не найден
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • ServletException в '/left.do': java.lang.ClassNotFoundException: org.apache.jsp.WEB_002dINF.tiles.leftlogged_jsp
    Anonymous » » в форуме JAVA
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как устранить ошибку при настройке прослушивателя приложения класса org.apache.struts2.tiles.StrutsTilesListener
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Стоки с 6.3.0.2 до 6.7.0 Обновление - java.lang.abstractmethoderror: org/apache/tiles/web/startup/abstracttileslistener.
    Anonymous » » в форуме Apache
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»