блок thimeleaf не показывается, когда условие th: если верно - PullRequest
0 голосов
/ 25 апреля 2018

У меня есть блок здесь:

<th:block th:if= "${not #lists.isEmpty(listGuide)}">
                <table class="table" style="margin-left: 100px" >
                    <thead>
                        <tr>
                            <td><b>Tên</b></td>
                            <td><b>Địa chỉ</b></td>
                            <td><b>Phone</b></td>
                            <td><b>Kinh nghiệm</b></td>
                        </tr>
                    </thead>
                </table>
                </th:block>

и контроллер

@PostMapping("/operator/search")
public String searchGuide(HttpServletRequest request, Model model) {
            String location = request.getParameter(Constant.PARAMETER_LOCATION);
            String language = request.getParameter(Constant.PARAMETER_LANGUAGE);
            String gender = request.getParameter(Constant.PARAMETER_GENDER);
            String type = request.getParameter(Constant.PARAMETER_TYPE);
            model.addAttribute("listGuide",
                    operatorService.findGuide(location, gender, type, language));
            log.info("size list guide search: "
                    + operatorService.findGuide(location, gender, type, language).size());
            return Constant.VIEW_REDIRECT_FIND_GUIDE;
}

этот журнал "Поиск по списку размеров: 19901", но блок не отображается.Зачем?Кто-нибудь мне помочь?

ОБНОВЛЕНИЕ VIEW_REDIRECT_FIND_GUIDE is

public static final String VIEW_REDIRECT_FIND_GUIDE = "redirect:/operator/searchguide";

и контроллер / оператора / searchguide:

public String findGuide(HttpServletRequest request, Model model) {
            Principal principal = request.getUserPrincipal();
            User user = userDetailService.findByUsername(principal.getName());
            Operator operator = operatorService.findByUserId(user.getId());
            model.addAttribute(Constant.ENTITIY_OPERATOR, operator);
            model.addAttribute(Constant.ENTITIY_LIST_LANGUAE, (List<Language>) languageService.findAll());
            model.addAttribute(Constant.ENTITIY_LIST_LOCATION, (List<Location>) locationService.findAll());
            return "find-guider";

1 Ответ

0 голосов
/ 02 мая 2018

Как я уже говорил в моем предыдущем комментарии, вы должны использовать Flash Scope, поскольку вы перенаправляете на страницу. Попробуйте что-то вроде ниже

@PostMapping("/operator/search")
public String searchGuide(HttpServletRequest request, RedirectAttributes attributes) {
            String location = request.getParameter(Constant.PARAMETER_LOCATION);
            String language = request.getParameter(Constant.PARAMETER_LANGUAGE);
            String gender = request.getParameter(Constant.PARAMETER_GENDER);
            String type = request.getParameter(Constant.PARAMETER_TYPE);
            //model.addAttribute("listGuide", operatorService.findGuide(location, gender, type, language));
            attributes.addFlashAttribute("listGuide",peratorService.findGuide(location, gender, type, language));
            log.info("size list guide search: "
                    + operatorService.findGuide(location, gender, type, language).size());
            return Constant.VIEW_REDIRECT_FIND_GUIDE;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...