powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / spring mvc как получить дату и время из Form ? Экранирование символов в url!?
5 сообщений из 5, страница 1 из 1
spring mvc как получить дату и время из Form ? Экранирование символов в url!?
    #39265602
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый !

Проблема в @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm")

и то что приходит с формы из браузере не приводится к yyyy-MM-dd'T'HH:mm , выглядит оно так : 2016-06-28T00%3A00

Есть jsp страница фильтр на ней есть два поля

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
            <tr>
                <td><label for="Дата создания">Дата создания:</label></td>
                <td>
                    с:<input type="datetime-local1" id="createDateBegin"  name="createDateBegin"/>
                    по:<input type="datetime-local1" id="createDateEnd" name="createDateEnd"/>
                </td>
                <td></td>
                <td></td>
                <td><input type="submit" value="Применить"/></td></td>
                <td><input type="reset" name="reset" value="Сбросить" /></td>
            </tr>


где https://eonasdan.github.io/bootstrap-datetimepicker/ContributorsGuide/
Код: javascript
1.
2.
3.
4.
5.
6.
         $(function () {
                 $('input[type=datetime-local1]').datetimepicker({
//                        locale: 'ru',
                        format: "YYYY-MM-DD'T'HH:mm"
                 });
            });



Есть контроллер


Код: java
1.
2.
 @RequestMapping(method = RequestMethod.GET)
    public ModelAndView index(@PageableDefault(page = 0, value = 10) final Pageable pageable, @Valid final AdsInfoSearch adsInfoSearch, final BindingResult bindingResult, SessionStatus status) {




в него с формы приходит

Код: java
1.
2.
3.
4.
5.
public class AdsInfoSearch implements Serializable {
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm")
    private Date createDateBegin;
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm")
    private Date createDateEnd;



Пишу тест :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    @Test
    public void testAdsInfoControllerIndexGet() throws Exception {
        
       String url =ADVERTISINGS_URL + "?createDateBegin=2016-06-28T00%3A00&createDateEnd=2016-06-30T00%3A00";
        
        MockMvcBuilders.standaloneSetup(adsInfoController)
                .setCustomArgumentResolvers(pageableArgumentResolver)
                .build()
                .perform(get(url))
                .andDo(print())
                .andExpect(status().isOk());
}



Но в AdsInfoSearch - значения null !


т.е не получается привести переданные из формы значения к дате времени?

как научить понимать?
...
Рейтинг: 0 / 0
spring mvc как получить дату и время из Form ? Экранирование символов в url!?
    #39265605
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
    @InitBinder
    public void initBinder(WebDataBinder binder) {
      
        
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
        sdf.setLenient(true);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(sdf, true));
    }


Это в контролере есть .
...
Рейтинг: 0 / 0
spring mvc как получить дату и время из Form ? Экранирование символов в url!?
    #39265608
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и Если в тесте

указать


Код: java
1.
 String url =ADVERTISINGS_URL + "?state=draft&createDateBegin=2016-06-28T00:00&createDateEnd=2016-06-30T00:00";




все нормально парсится ...

проблема лишь в экранировании : %3A
...
Рейтинг: 0 / 0
spring mvc как получить дату и время из Form ? Экранирование символов в url!?
    #39265643
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С урлом так не гуд работать. Попробуй как тут http://stackoverflow.com/questions/883136/is-there-a-good-url-builder-for-java
...
Рейтинг: 0 / 0
spring mvc как получить дату и время из Form ? Экранирование символов в url!?
    #39265697
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonС урлом так не гуд работать. Попробуй как тут http://stackoverflow.com/questions/883136/is-there-a-good-url-builder-for-java

о Да , спасибо !

помогло вот это :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class MvcWebApplicationInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {


    @Override
    protected Filter[] getServletFilters() {

        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        //characterEncodingFilter.setForceEncoding(true);
        return new Filter[]{characterEncodingFilter};
    }

}
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / spring mvc как получить дату и время из Form ? Экранирование символов в url!?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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