Я использую структуру Laravel 5 и ответ @Gambi, и работаю для меня, но с некоторыми изменениями для моего проекта.
У меня есть значения параметров в таблице базы данных, и я использую их с заявление foreach. Но перед заявлением я добавил параметр с предложенными настройками @Gambit, и он сработал.
Здесь мой пример:
@isset($keys)
<select>
<option disabled selected value></option>
@foreach($keys as $key)
<option>{{$key->value)</option>
@endforeach
</select>
@endisset
Я надеюсь, что это тоже поможет кому-то. Следите за хорошей работой!
Убедитесь, что вы используете как минимум Eclipse IDE для разработчиков Java EE (с EE). Он содержит средства разработки для создания динамических веб-проектов и легко интегрирует servletcontainers (эти инструменты являются частью Web Tools Platform, WTP). Если у вас уже есть Eclipse IDE для Java (без EE) и вручную установлены некоторые связанные с EE плагины, то, скорее всего, это было сделано неправильно. Вам лучше всего удалить его и захватить настоящую Eclipse IDE для Java EE.
Вам также необходимо убедиться, что на вашем компьютере уже установлен сервлетконтейнер, который реализует, по крайней мере, ту же версию API Servlet, что и servletcontainer в рабочей среде, например Apache Tomcat , Oracle GlassFish , JBoss AS / WildFly и т. д. Обычно , просто загрузить ZIP-файл и извлечь его достаточно. В случае Tomcat, do not загружает формат EXE, это только для производственных сред Windows. См. Также a.o. Несколько портов (8005, 8080, 8009), требуемых Tomcat Server на localhost, уже используются .
Сервлетконтейнер представляет собой конкретную реализацию API Servlet. Обратите внимание, что загрузка Java EE SDK на Oracle.com в основном содержит GlassFish. Так что если вы уже загрузили Java EE SDK, то у вас в основном уже есть GlassFish. Также обратите внимание, что, например, GlassFish и JBoss AS / WildFly являются больше , чем просто servletcontainer, они также поддерживают JSF, EJB, JPA и все другие Java EE fanciness. См. Также a.o. Что такое Java EE?
После установки Eclipse для Java EE и servletcontainer на вашем компьютере выполните следующие шаги в Eclipse:
В любом случае вам следует не нужно входить в свойство Build Path проекта. Прежде всего вы никогда не будете вручную копировать / загружать / перемещать / включать отдельные библиотеки, специфичные для сервлетконтейнеров, такие как servlet-api.jar
, jsp-api.jar
, el-api.jar
, j2ee.jar
, javaee.jar
и т. Д. Это приведет только к будущей переносимости, совместимость, путь к классам и проблемы с ремонтопригодностью, поскольку ваш webapp не будет работать, когда он будет развернут в servletcontainer другой версии / версии, чем изначально полученных из этих библиотек.
Если вы используете Maven, вы необходимо убедиться, что библиотеки, специфичные для сервлетаконтейнера, которые уже предоставлены целевой средой выполнения, отмечены как <scope>provided</scope>
.
Вот некоторые типичные исключения, которые вы можете получить, когда вы засоряете /WEB-INF/lib
или даже /JRE/lib
, /JRE/lib/ext
и т. д. с библиотеками, специфичными для servletcontainer, в неосторожной попытке исправить ошибки компиляции:
Многие из нас развиваются в Eclipse через проект Maven. Если это так, вы можете включить зависимости Tomcat в Maven через банки tomcat-servlet-api
и tomcat-jsp-api
. Один существует для каждой версии Tomcat. Обычно добавлять их с областью видимости provided
в ваш POM является достаточным. Это будет держать вашу сборку более портативной.
Если вы обновите Tomcat в будущем, вы просто обновите версию этих банок.
Quick Fix- Это сработало в Eclipse - щелкните правой кнопкой мыши по проекту -> Свойства -> путь сборки Java (вкладка) -> Добавить внешние JAR -> найдите реализацию api jar сервлета (если Tomcat - его имя servlet-api.jar ) -> нажмите OK. Вот и все!
servlet-api.jar
, jsp-api.jar
, el-api.ja
r, j2ee.jar
, javaee.jar
и т. Д. Это приведет только к будущая мобильность, совместимость, путь к классам и проблемы с ремонтопригодностью.
– Aniket Kulkarni
6 February 2013 в 18:17
Я получал исключение нулевого указателя во время создания проекта, связанного с «Динамическим веб-модулем».
Чтобы получить проект для компиляции (т. е. javax.servlet
для успешного импорта), мне пришлось перейти к свойствам проекта , выбрать Границы проекта на боковой панели отметьте «Динамический веб-модуль» и нажмите Применить .
Удивительно, на этот раз фасет «Динамический веб-модуль» установлен правильно, и импорт начал работать.
Для проектов maven добавьте следующую зависимость:
<!-- https://mvnrepository.com/artifact/javax.servlet/servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
Для проектов градиента:
dependencies {
providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.0.1'
}
или загрузите javax.servlet.jar
и добавьте в свой проект.
Из wikipedia .
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<html>\n" +
"<head><title>Hello WWW</title></head>\n" +
"<body>\n" +
"<h1>Hello WWW</h1>\n" +
"</body></html>");
}
}
Это, конечно, работает, только если вы добавили путь сборки servlet-api.jar
к Eclipse. Обычно ваш сервер приложений (например, Tomcat ) имеет правый файл jar.
Я знаю, что это старый пост. Тем не менее, я наблюдал еще один пример, когда в проекте уже добавлен Tomcat, но мы все еще получаем эту ошибку. Это разрешило это: Alt + Ввести Границы проекта Справа рядом с деталями находится еще одна вкладка «Runtimes». Там будет указан установленный сервер tomcat. Выберите его. Сохраните конфигурацию и DONE!
Надеюсь, это кому-то поможет.
вы можете просто скопировать файл servlet-api.jar
и скопировать файлы jar в папку lib, которая находится в WEB-INF. затем просто очистите и постройте свой проект, ваши ошибки будут решены.
**OR**
вы можете напрямую добавлять файлы jar в библиотеку, используя следующие шаги.
servlet-api.jar
. В моем случае, когда я перешел на экран Targetted Runtimes, экран Tomcat 7 не был указан (отключен), несмотря на то, что был установлен.
Чтобы исправить, мне нужно было перейти в Preferences-> Server-> Runtime Environments затем удалите и переустановите Tomcat 7.
[/g3]
Перейти к свойствам вашего проекта (с помощью Alt + Enter или righ-click)
проверить на Apache Tomcat v7.0 под целевым временем выполнения и работает.
Прежде всего вы никогда не будете вручную копировать / загружать / перемещать / включать отдельные библиотеки, специфичные для сервлета, например servlet-api.jar
blockquote> blockquote>@ BalusC,
Я бы предпочел использовать точные классы, которые мое приложение будет использовать, а не одно, предоставленное Eclipse (когда я чувствую себя параноидным разработчиком).
Другим решением было бы использовать Eclipse «Configure Build Path»> Libraries> Add External Jars и добавить сервлет api любого контейнера, который вы хотите использовать.
И следуйте за @kaustav datta's решение при использовании ant для сборки - есть свойство, подобное tomcat.home или weblogic.home. Однако он вводит другое ограничение, которое разработчик должен установить Weblogic на своем локальном компьютере, если используется weblogic! Любое другое решение для очистки?
Включите servlet-api.jar из папки вашего сервера. [/g0]
Сделайте этот шаг
[/g1]
Небольшое отличие от Hari:
Щелкните правой кнопкой мыши по проекту ---> Свойства ---> Путь сборки Java ---> Добавить библиотеку ... ---> Время выполнения сервера ---> Apache Tomcat ----> Готово.
blockquote>
Добавить зависимость javax.servlet в pom.xml. Ваша проблема будет решена.
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<property name="tomcat.home" value="D:\\Program Files\\Apache Software Foundation\\apache-tomcat-6.0.36"/>
и т. Д. – kaustav datta 13 June 2013 в 16:13maven-archetype-webapp
, не включая JAR сервлета-api как зависимость? Проект имеет index.jsp с ошибкой компиляции. (Eclipse Luna Build id: 20140612-0600, JDK 8, M2eclipse) – arun 20 September 2014 в 06:56servlet-api
предоставляются средами выполнения Servlet, такими как Tomcat, Wildfly, Glassfish и т. д.,. Никогда не включайте его как часть своего приложения, так как есть хорошая возможность столкновения с окружающей средой. – asgs 23 September 2015 в 09:27