2013-07-17 4 views
0
out.println("<br>" + getServletConfig().getInitParameter("ad")); 
out.print("<br>" + getServletContext().getInitParameter("email")); 

У меня есть страница JSP.Проблема с получением параметров инициализации

Когда я запускаю свое приложение, он всегда возвращает null, а не электронную почту.

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

Вот полный код:

<% 
List styless = (List) request.getAttribute("styles"); 
int n = styless.size(); 
for (int i = 0; i < n; i++) { 
    out.print("<br>" + styless.get(i)); 
} 
out.println("<br>" + getServletConfig().getInitParameter("ad")); 
out.print("<br>" + getServletContext().getInitParameter("email")); 
%> 

В этом коде ни ServletConfig или ServletContext работает как возвращающегося нуль, но то же самое хорошо работает в сервлет

web.xml

<servlet> 
    <servlet-name>Ch3 Beer</servlet-name> 
    <servlet-class>action.BeerSelect</servlet-class> 
    <init-param> 
     <param-name>ad</param-name> 
     <param-value>[email protected]</param-value> 
    </init-param> 
</servlet> 
<context-param> 
    <param-name>email</param-name> 
    <param-value>[email protected]</param-value> 
</context-param> 
+0

код: <% Список styless = (Список) request.getAttribute ("стили"); int n = styless.size(); для (int i = 0; i " + styless.get (i)); \t} out.println ("
" + getServletConfig(). GetInitParameter ("ad")); out.print ("
" + getServletContext(). GetInitParameter ("email")); %> в этом коде ни ServletConfig, ни ServletContext не работают, как возвращают null, но то же самое работает в сервлет – Rohit77

+1

Не зная, как вы на самом деле * устанавливаете * параметр, на который невозможно ответить. Является ли это параметром init или параметром context? –

+0

Вы должны опубликовать действующий [SSCCE] (http://sscce.org), чтобы люди могли понять вашу проблему и помочь вам или учиться на ней. –

ответ

0

Поскольку код описан в вашем вопросе, параметр email должен отображаться как в JSP, так и в Servlet (и он это проверял), используя код getServletContext().getInitParameter("email").

Теперь параметр ad, он показывает null (правильно) в JSP, потому что этот параметр находится в локальном сервлете. ad доступен только (и это то, что оно должно быть) внутри кода сервлета и могут быть доступны с помощью getServletConfig().getInitParameter("ad")

+0

Нет, параметр электронной почты возвращает значение null только в jsp, но в сервлете он возвращает идентификатор электронной почты ... и для параметра объявления, если использует RequestDispatcher как response.setAttribute («style», li); затем Requestdispatcher view = request.getRequestDispacther ("result.jsp"); и theh view.forward (ответ, запрос); – Rohit77

0

Когда вы объявляете параметры контекста, как это:

<context-param> 
    <param-name>email</param-name> 
    <param-value>[email protected]</param-value> 
</context-param> 

Затем вам нужно получить к нему доступ используя 'приложения' объекта:

<% 
    String email=application.getInitParameter("email"); 
    System.out.println(email); 
%> 
+0

Wow Его работа .. но мы использовали application.get ..... и как насчет ServletContext – Rohit77

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