powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / помогите с фильтром
6 сообщений из 6, страница 1 из 1
помогите с фильтром
    #33894032
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть страничка(СТ1) на которой заполняются некие поля после заполнения все предается далее на сервлет.
на сервлете висит фильтр который проверяе заполненые поля и если что-то не так
возращает на СТ1,добавляя параметр в реквест.
но этот параметр почемуто на СТ1 никогда не виден
смотрю:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Enumeration params = request.getParameterNames( );

             while  (params.hasMoreElements( )){

            String paramN = (String) params.nextElement( );
            String paramV = request.getParameter(paramN);
                System.out.println("paramN "+paramN+"="+paramV);
            }
а его там нет
код фильтра:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
 package  filters;

 import  javax.servlet.*;
 import  javax.servlet.http.HttpSession;
 import  java.io.IOException;
 import  java.util.Enumeration;

/**
 * Created by IntelliJ IDEA.
 * User: oed0nv
 * Date: 01.08.2006
 * Time: 14:28:54
 * To change this template use File | Settings | File Templates.
 */

 public   class  first  implements  Filter {

    String paramN= null ;
    String paramV= null ;

     private  FilterConfig config;


     public   void   init(FilterConfig filterConfig)   throws  ServletException {

         this .config = filterConfig;

    }

     public   void  doFilter(ServletRequest request, ServletResponse response,
                         FilterChain chain)  throws  IOException, ServletException {

     try {
         boolean  rejected = false;

        //************************************************************
        //ПРИЕМ ИЗ ВЫЗЫВАЮЩЕГО МОДУЛЯ

        String KOD_DOK=request.getParameter("KOD_DOK");
        String NOM_DOK=request.getParameter("NOM_DOK");
        NOM_DOK= new String ( NOM_DOK.getBytes("ISO-8859-1"),"Cp1251");
        String DATE_DOK=request.getParameter("DATE_DOK");
        String NAIM_DOK=request.getParameter("NAIM_DOK");
        NAIM_DOK= new String ( NAIM_DOK.getBytes("ISO-8859-1"),"Cp1251");
        String DATE_NACH_OGR=request.getParameter("DATE_NACH_OGR");
        String DATE_OKON_OGR=request.getParameter("DATE_OKON_OGR");
        String PR_KONT=request.getParameter("PR_KONT");
        String KOP=request.getParameter("KOP");
        //************************************************************


        if(KOD_DOK.equals("0")){
            rejected = true;
            reject(request,response,"неуказан код документа!");
            return;
        }
        if(NOM_DOK.length()<10){
            reject(request,response,"неуказан номер документа!");
            return;
        }
        if(NAIM_DOK.length()>256){
            reject(request,response,"краткое название не должно превышать 256 символов!");
            return;
        }
        if(checkDate(DATE_DOK)){
            reject(request,response,"Неверный формат даты! (дата док.)");
            return;

        }
        if(checkDate(DATE_NACH_OGR)){
            reject(request,response,"Неверный формат даты! (дата начала ограничения)");
            return;

        }
        if(checkDate(DATE_OKON_OGR)){
            reject(request,response,"Неверный формат даты! (дата окончания ограничения)");
                   return;
        }
        if(PR_KONT.equals("0")){
            reject(request,response,"неуказана система контроля и управления!");
            return;
        }
        if(KOP.equals("0")){
            reject(request,response,"неуказан код операции!");
            return;
        }


        //Pass the request to its intended destination, if everything
        //is okay
        if (! rejected)
            chain.doFilter(request,response);

    } catch( Exception ex )
        {

            System.out.println ("***Filter first*** Exception.Message: " + ex.getMessage());
        }


    }// doFilter

/*
    private boolean isEmpty(String param){

        if (param == null || param.length( ) < 1){
            return true;
        }

        return false;
    }
*/

    //проверка формата поступившей даты
     private   boolean  checkDate(String s) {
         if (s.length()< 10 ) return  true;
        String good = "0123456789";
         for  (  int  i =  0 ; i < s.length(); i++ ) {
             if  (i== 2 ||i== 5 ){
                 if (s.charAt(i)!='.'){
                     return  true;
                }
                 continue ;
            }
             if  ( good.indexOf(s.charAt(i)) == - 1  )
                 return  true;
        }

         return  false;
    }




     private   void  reject(ServletRequest request, ServletResponse response, String errorMsg)
             throws  IOException, ServletException {

        //Get all the parameter names associated with the form fields
        Enumeration params = request.getParameterNames( );

        paramN =  null ;

        //Create request attributes that the form-related JSP will
        //use to fill in the form fields that have already been
        //filled out correctly. Then the user does not have to fill
        //in the entire form all over again.
         while  (params.hasMoreElements( )){

            paramN = (String) params.nextElement( );

            request.setAttribute( paramN, request.getParameter(paramN));

        }

        //Create an error message; store it in a request attribute
        request.setAttribute("errorMsg",errorMsg);

        //session.setAttribute("errorMsg",errorMsg);


        //Use a RequestDispatcher to return the user to the form in
        //order to fill in the missing values

        RequestDispatcher dispatcher = request.getRequestDispatcher("/base/first.jsp");

        dispatcher.forward(request,response);

    }//reject

     public   void  destroy( ){
        /*called before the Filter instance is removed
   from service by the web container*/
    }

}


"errorMsg" мне нужен.
все пришедшие пара метры передаются а добавленный нет.
подскажите пожалуйста, что не так?
...
Рейтинг: 0 / 0
помогите с фильтром
    #33894635
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
никто не отвечает((((
попробую преобразовать сущность вопроса
в фильтре делаю
request.setAttribute("errorMsg","месага");
делаю forward на страницу
на странице элемента errorMsg нету((
почему?
...
Рейтинг: 0 / 0
помогите с фильтром
    #33894755
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
надо request.getAttribute(), а не request.getParameter()
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
помогите с фильтром
    #33894938
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ухты....действительно...

СПАСИБО!!!!

p.s.интересно а какая между ними разница кроме той что метода setParametr я не нашел
...
Рейтинг: 0 / 0
помогите с фильтром
    #33895274
Megem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
request.getAttribute() - возвращает ссылку на обьект который находится в request, а request.getParameter() - строку, что была передана post или get-запросом
...
Рейтинг: 0 / 0
помогите с фильтром
    #33896210
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо.
надо запомнить.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / помогите с фильтром
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]