Java Web Accessing Resources из внешнего компонента [дубликат]

Это означает, что указанная переменная не указана ни на что. Я мог бы сгенерировать это так:

SqlConnection connection = null;
connection.Open();

Это вызовет ошибку, потому что, пока я объявил переменную «connection», она не указала ни на что. Когда я пытаюсь вызвать член «Open», для его устранения нет ссылки, и он будет вызывать ошибку.

Чтобы избежать этой ошибки:

  1. Всегда инициализируйте свои объекты, прежде чем пытаться что-либо с ними делать.
  2. Если вы не уверены, что объект имеет значение null, проверьте его с помощью object == null.

Инструмент Resharper JetBrains определит каждое место в вашем коде, которое имеет возможность ошибки нулевой ссылки, позволяя вам ввести нулевую проверку. Эта ошибка является источником ошибок номер один, IMHO.

31
задан Heizenberg 30 November 2011 в 04:38
поделиться

1 ответ

Создайте новый «Java Project» в Eclipse. Добавьте его в качестве другого проекта в свойство Deployment Assembly основного динамического веб-проекта. Таким образом, он автоматически окажется в качестве JAR в /WEB-INF/lib сборки веб-проекта. Начиная с более новых версий Eclipse, вы также можете создать проект как «Проект веб-фрагментов». Таким образом, шаг Deployment Assembly будет выполнен автоматически.

Поместите все эти общие файлы ресурсов JSF2 / Facelets в папку /META-INF/resources проекта Java. Просто рассматривайте его как WebContent/resources основного веб-проекта. Tagfiles можно просто сохранить в своей папке /META-INF/tags.

Например,

CommonWebProject
 |-- META-INF
 |    |-- resources
 |    |    `-- common
 |    |         |-- css
 |    |         |    `-- some.css
 |    |         |-- js
 |    |         |    `-- some.js
 |    |         |-- images
 |    |         |    `-- some.png
 |    |         |-- components
 |    |         |    `-- somecomposite.xhtml
 |    |         `-- sometemplate.xhtml
 |    |-- tags
 |    |    `-- sometag.xhtml
 |    |-- faces-config.xml
 |    |-- some.taglib.xml
 |    |-- web-fragment.xml
 |    `-- MANIFEST.MF
 :

с

<h:outputStylesheet library="common" name="css/some.css" />
<h:outputScript library="common" name="js/some.js" />
<h:graphicImage library="common" name="images/some.png" />
<common:somecomposite />
<common:sometag />
<ui:include src="/common/sometemplate.xhtml" />
...

Если вы хотите запустить аннотацию JSF2 сканера, чтобы вы могли поместить @ManagedBean, @FacesValidator, @FacesConverter и сундук в этот проект, также создайте JSF2-совместимый файл /META-INF/faces-config.xml (его можно даже пустым).

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    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-facesconfig_2_0.xsd"
    version="2.0">
</faces-config>

Вот и все.

См. также:

55
ответ дан Community 27 August 2018 в 16:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: