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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с кодом 
V
    Опции темы
Vav1lon
Дата 10.4.2010, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.1.2009

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



Доброго времени суток.
Начал учить JSF.
Читал статьи в интернете. пробую создать пример и не получается, подскажите что не так.

работаю в IDE NetBeans с GlassFish 3

index.xhtml
Код

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        <f:view>
            <h:form>
                <h:commandButton label="#{probaBean.getText}" />
            </h:form>
        </f:view>

    </h:body>
</html>


Код

package test;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

@ManagedBean(name="probaBean")
@RequestScoped
public class probaBean {

 public String getText() {
    return "asdasd";
  }
}


Остальное все в базовой конфигурации.

PS: а для чего нушел beans.xml ? ))
PM MAIL   Вверх
powerOn
Дата 10.4.2010, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Модератор: Название темы должно отражать ее суть!


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
dobrolub
Дата 10.4.2010, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



поменяй 
Код

<h:commandButton label="#{probaBean.getText}" />


на:
Код

<h:commandButton label="#{probaBean.text}" />


beans.xml – маркер для включения CDI – разбора аннотаций в java классах.
PM   Вверх
Vav1lon
Дата 11.4.2010, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.1.2009

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



Цитата(dobrolub @ 10.4.2010,  21:10)
на:
Код

<h:commandButton label="#{probaBean.text}" />

Не помогло, результат аналогичен.
почемуто я невижу свойств класса при работе с ним в jsf
PM MAIL   Вверх
dobrolub
Дата 11.4.2010, 06:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



Код

package test;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean(name="probaBean")
@RequestScoped
public class probaBean {
  private String text = "Hello World";

  public String getText() {
    return text;
  }

  public void setText(String value) {
    text = value;
  }
}

PM   Вверх
dobrolub
Дата 11.4.2010, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



попробуй  javax.annotation.ManagedBean вместо того, что в faces.bean.
RequestScoped возьми из javax.enterprise.context.RequestScoped
PM   Вверх
Vav1lon
Дата 11.4.2010, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.1.2009

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



вариант c классом тоже не сработал, может проблема в web.xml и sun-web.xml


web.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</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>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>
</web-app>



sun-web.xml
Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
<sun-web-app error-url="">
  <context-root>/a1</context-root>
  <jsp-config>
    <property name="keepgenerated" value="true">
      <description>Keep a copy of the generated servlet class' java code.</description>
    </property>
  </jsp-config>
</sun-web-app>



Это сообщение отредактировал(а) Vav1lon - 11.4.2010, 07:13
PM MAIL   Вверх
dobrolub
Дата 11.4.2010, 07:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



web.xml и sun-web.xml выглядят правильно. Проблема в аннотатциях - надо подобрать правильные для CDI аннотации

Пробуй аннотацию Named, a сам класс переименуй в ProbaBean – с большой буквы.

Код

package test;

import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

@Named("probaBean")
@RequestScoped
public class probaBean {
  public String getText() {
     return "hello world";
  }
}


На странице выведи значения для объекта и поля.
Код


  <h:outputText value="#{probaBean}" />
  <h:outputText value="#{probaBean.text}" />



убедись, что файл beans.xml лежит в директории WEB-INF - файл подключает CDI  в контекст.
PM   Вверх
Vav1lon
Дата 11.4.2010, 08:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 20.1.2009

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



Сработало, отображается данные из класса.

Спасибо за помощь, буду разбираться в аннотациях.

PM MAIL   Вверх
dobrolub
Дата 11.4.2010, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



ок. Очень хорошо. 

Пометь тему как решённую, и если не в-лом, ткни в плюсик моей репутации и посети ссылку в подписи smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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