Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JSF 1.2 (MyFaces) + Tomcat 6.0.10 issue 
:(
    Опции темы
necromancer
Дата 19.7.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



Код

<%@ page import="javax.faces.context.FacesContext" %>
<%@ page import="javax.faces.application.FacesMessage" %>
<%@ taglib prefix="jsf" uri="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
<%--<%@ taglib prefix="t" uri="http://myfaces.apache.org/tomahawk" %>--%>
<%--<%@ taglib uri="https://ajax4jsf.dev.java.net/ajax" prefix="a4j" %>--%>
<%--
  Date: Mar 15, 2007
  Time: 4:46:53 PM
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsf:view>
    <%
        FacesContext.getCurrentInstance().addMessage(null,new FacesMessage("test"));
    %>
<html>
  <head><title>Simple jsp page</title></head>
  <body>Place your content here
   <h:form>
      <h:messages/>
       <h:outputText value="#{s.valuetest}"/>
  </h:form>
  </body>
</html>
</jsf:view>



libs in lib directory:
commons-beanutils-1.7.0.jar
commons-codec-1.3.jar
commons-collections-3.2.jar
commons-digester-1.8.jar
commons-discovery-0.4.jar
commons-el-1.0.jar
commons-logging-1.1.jar
jstl-1.2.jar
myfaces-api-1.2.0.jar
myfaces-impl-1.2.0.jar

web.xml config:
Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 
 <context-param>
    <param-name>com.sun.faces.expressionFactory</param-name>
    <param-value>org.apache.el.ExpressionFactoryImpl</param-value>
</context-param>
 
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
</web-app>



and finally faces config:
[code=xml]
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC
  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
 
<faces-config>
      <managed-bean>
          <managed-bean-name>s</managed-bean-name>
          <managed-bean-class>test.Bean</managed-bean-class>
          <managed-bean-scope>session</managed-bean-scope>
      </managed-bean>
</faces-config>
[code=java]


if page contains simple message output all work fine!
If any value in tag then i got this error:
Код

javax.servlet.ServletException: /test.jsp(21,7) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
 
root cause 
javax.faces.FacesException: /test.jsp(21,7) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
    org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:340)
    org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:254)
    org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
    org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
 
root cause 
org.apache.jasper.JasperException: /test.jsp(21,7) According to TLD or attribute directive in tag file, attribute value does not accept any expressions
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
    org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1172)
    org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:819)
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
    org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:838)
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
    org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:838)
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1507)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2392)
    org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
    org.apache.jasper.compiler.Validator.validate(Validator.java:1737)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:178)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:334)
    org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:254)
    org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
    org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)





Это сообщение отредактировал(а) necromancer - 19.7.2007, 15:34


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
AntonSaburov
Дата 19.7.2007, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Судя по сообщениям - где-то ошибка использования тэгов. Т.е. в TLD прописаны одни правила, а реально в JSP что-то не соответствует - надо проверить.
На вскидку - что-то не так в тэге <h:messages/> - хотя это просто догадка.
PM MAIL WWW ICQ   Вверх
necromancer
Дата 19.7.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



Догадка не совсем верная =) с мессаджес все нормально
насчет правил тэгов они не изменились с 1.1 (конкретно те что в коде)
и как на зло jira у myfaces.apache.org не работает =) *может это глобальная подстава? smile

Цитата

if page contains simple message output all work fine!

сделав сборку с нуля я получил уже другое сообщение smile
Код

  SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Unable to convert string "Test" to class "javax.el.ValueExpression" for attribute "value": Property Editor not registered with the PropertyEditorManager
    at org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManager(JspRuntimeLibrary.java:887)
    at org.apache.jsp.test_jsp._jspx_meth_h_005foutputText_005f0(test_jsp.java:138)
    at org.apache.jsp.test_jsp._jspx_meth_f_005fview_005f0(test_jsp.java:102)
    at org.apache.jsp.test_jsp._jspService(test_jsp.java:65)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:334)
    at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:254)
    at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
    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:104)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
    at java.lang.Thread.run(Thread.java:595)


Это сообщение отредактировал(а) necromancer - 19.7.2007, 17:44


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
AntonSaburov
Дата 19.7.2007, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Опять читаем сообщение - тут при компиляции JSP видно, что вызов 

FacesContext.getCurrentInstance().addMessage(null,new FacesMessage("test"));

класс FacesMessage в конструкторе требует не строку, а javax.el.ValueExpression
PM MAIL WWW ICQ   Вверх
necromancer
Дата 19.7.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



вот ты привязался к "Test", если ты видишь то он в создании мессаджа "test", и если бы тип не совпадал - 
падало бы на этапе компиляции. А тут падает на этапе выполнения.

Хотя я немного слукавил, страница для последней ошибки выглядит так:
Код

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<f:view>
    <html>
    <head><title>Simple jsp page</title></head>
    <body>Place your content here
      <h:outputText value="Test"/>
    </body>
    </html>
</f:view>



--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
AntonSaburov
Дата 19.7.2007, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 8
Всего: 118



Но тогда тем более - получаем, что на этапе выполнения JSP страница компилируется в сервлет. И когда она компилируется (т.е. выполнятеся первый раз) - получаем ошибку из которой видно, что что-то не то с данными в тэге. Надо уже смотреть более подробно - сейчас уже не получится (во всяком случае у меня). Придется самому smile Удачи
PM MAIL WWW ICQ   Вверх
necromancer
Дата 19.7.2007, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 317
Регистрация: 26.7.2006
Где: Москва

Репутация: 6
Всего: 7



Я попытался вместо String подсунуть туда значение из бина ив итоге получил ошибку:
javax.faces.FacesException: /test.jsp(15,6) According to TLD or attribute directive in tag file, attribute value does not accept any expressions

Итак что мы имеем:
1 Если использовать значение не из бина то выпадает ошибка что значение это не является якобы javax.el.ValueExpression
2 Если использовать значение из бина то первая, оказывается по TLD у нас нельзя использовтаь параметр value

=)
итого что получается ? BUG?


--------------------
С уважением, 
                 Виталий Смык
----------------------------------------------------------------------------------------------
SCJP, SCWCD, OCA
http://dev.maryno.net/video/
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1157 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.