2013-05-21 7 views
0

У меня очень странная проблема, классика работает на локальном хосте, а не на сервере.Переменная недоступна без исключения

Я пытался найти большую проблему и обнаружили, что этот код:

<div class="pageHeader"><h1>Products2 #{products.debug} </h1></div> 

Когда:

@ManagedBean(name="products") 
@SessionScoped 
public class ProductsBean { 
private String debug = "Debug : "; 

public ProductsBean() { 
    debug = "Debug : "; 
} 
public String getDebug() { 
    return debug; 
} 

public void setDebug(String debug) { 
    this.debug = debug; 
} 

И debug строка имеет геттеры/сеттеры,

отлично работает в localhost, но не на удаленном. На удаленном сервере он вообще не выделяет строку, и исключение не генерируется, и я не знаю, как начать поиск проблемы. Дело в том, что эта проблема повторяется другими способами, например, эта страница имеет dataTable, которая кажется пустой, хотя она не находится в localhost. когда я пробовал загрузку файлов на совершенно другой странице, я получил исключение Target Unreachable, identifier resolved to null, что не является проблемой в этом случае, но, похоже, это связано как-то, я думаю

Любая помощь? Я работаю на Oracle Linux Server с Oracle GlassFish

+0

Можете ли вы предоставить более подробную информацию? На каком сервере вы развертываете это?Вы видите исключения в журналах сервера? Можете ли вы получить доступ к другим свойствам для вашего класса ProductBean? – Angela

+0

Я работаю на Oracle Linux Server с Oracle GlassFish. и я упомянул, что исключение не выбрасывается. и кажется, что я не могу получить доступ к другим свойствам класса no –

+0

. Вы упомянули, что вы получаете исключение «Недоступность цели, идентификатор, разрешенный к нулю» при загрузке файла. Можете ли вы вставить трассировку стека для этого? Я понимаю, что это не прямая проблема, но может быть связано. – Angela

ответ

-1

Первым шагом, на мой взгляд, будет сделать правый щелчок -> Источник просмотра в браузере и сообщить нам, что он показывает. В источнике представления, если строка «# {product.debug} не печатается, это означает, что сервер действительно оценивает выражение EL, но во время рендеринга он поступает как пустая строка.

  • Можете ли вы предоставить фактические геттеры/сеттеры.
  • вы можете поставить регистраторы/СОП в них и дайте нам знать, являются ли они называют и в какой последовательности.
  • Заменить чистый EL Expression с привязки данных как h: inputText и посмотреть, что произойдет.

    < h: inputText value = "# {products.debug}" />

  • Возможно, не связанный, но есть ли у вас < base /> тэг, указанный на вашей странице в разделе главы? Базовый тег href предоставляет местоположение, из которого загружаются дочерние ресурсы. Я видел какое-то ненормальное поведение в прошлом, когда меняю серверы, когда главная страница загружается с удаленного, в то время как дочерние ресурсы загружаются из самого локального хоста в вашем блоке разработчика, потому что один забывает изменить ссылку базового тега.

+0

показан выше код, только без строки отладки. –

+0

Пожалуйста, помните, что в localhost это работает отлично, getters & seters являются базовыми, сгенерированы автоматически, но я добавлю их, тем не менее, –

+0

no У меня нет базового тега, почему? –

0

Проблема здесь.

Target Unreachable, identifier 'loadSimCards' resolved to null 

Я считаю, что #loadSimCards разрешен к нулю во время обработки. Объект не создается и не используется в вашем компоненте.

Проверьте код и убедитесь, что он действительно заполняется. Вы можете опубликовать свой код Java, если у вас все еще есть проблемы.

Также проверьте beans.xml файл и декларации в лицах-config.xml

Ссылка - JEE CDI tip: Target Unreachable, identifier resolved to null

+0

Это так, но проблема не в том, что у меня такая же проблема в моем приложении, я думаю, что это имеет какое-то отношение к CDI. –

+0

Я отредактировал свой ответ с дополнительной информацией – Angela

+0

Я не объявляю в faces-config.xml. Я попытался вместо использования '@ ManagedBean' использовать' @ Named', так как я видел, что в других компонентах, которые работают, это был метод, который использовался, и придерживался того же результата. –

Смежные вопросы