Почему схема окраски Bootstrap отменяется, когда элементы Wicket прыжков? - PullRequest
0 голосов
/ 03 апреля 2020

HTML моей домашней страницы:

    <!DOCTYPE html>
<html lang="en" xmlns:wicket="http://wicket.apache.org">
<head>
    <meta charset="UTF-8">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
<body>

<div class="container">
    <div class="row">
        <div class="col-sm-3 vh-100 p-2" id="sidebar">
            <ul class="nav flex-column">
                <li class="nav-item">Royals of Britain</li>
                <li class="nav-item">
                    <a class="nav-link collapsed text-truncate" href="#submenu1" data-toggle="collapse" data-target="#submenu1">Select a House</a>
                    <div class="collapse" id="submenu1" aria-expanded="false">
                        <!-- This is Wicket Markup Git attached panel. -->
                        <ul class="flex-column pl-2 nav" wicket:id="housesDropdown">
                            <li class="nav-item"><a class="nav-link py-0" href="#">Oliveira</a></li>
                        </ul>
                    </div>
                </li>
            </ul>
        </div>
</body>
</html>

HTML панели

<!DOCTYPE html>
<html lang="en" xmlns:wicket="http://wicket.apache.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<wicket:panel>
    <li class="nav-item" wicket:id="dropdownLinks"><a class="nav-link py-0" href="/houses/oliveira">Oliveira</a></li>
</wicket:panel>
</body>
</html>

Так что прыжок становится актуальным, потому что я переместил wicket: id = "dropdownLinks" из элемента Panel HTML в элемент li панели HTML. Почему это сохраняет работоспособность гиперссылок, но отменяет схему окраски Bootstrap?

РЕДАКТИРОВАТЬ :: 4/3/2020

Вот HTML HousesDropdown

<!DOCTYPE html>
<html lang="en" xmlns:wicket="http://wicket.apache.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<wicket:panel>
    <li class="nav-item" wicket:id="dropdownLinks"><wicket:child/></li>
</wicket:panel>
</body>
</html>

Вот пакет Java HousesDropdown

package website.fgto.royals_of_britain.view.houses;

import . орг apache .wicket.markup html .WebMarkupContainer. import org. apache .wicket.markup. html .link.BookmarkablePageLink; import org. apache .wicket.markup. html .link.Link; import org. apache .wicket.markup. html .panel.Panel; import org. apache .wicket.markup.repeater.RepeatingView; import org. apache .wicket.model.Model; import org. apache .wicket.request.mapper.parameter.PageParameters; import org. apache .wicket.spring.injection.annot.SpringBean;

import website.fgto.royals_of_britain.service.HousesService;

publi c класс HousesDropdown расширяет Panel {private stati c final long serialVersionUID = 1L;

@ SpringBean HousesService HousesService;

publi c HousesDropdown () {add (new WebMarkupContainer (Hyperlink.class)); }

приватная ссылка buildDropdownItem (RepeatingView parent, String houseName) {BookmarkablePageLink link = new BookmarkablePageLink (parent.newChildId (), HouseInformationPage.class, buildPageParameters (houseName));

link.setBody (link.setBody новая модель <> (capitalizedHouseName (houseName)));

обратная ссылка; }

private PageParameters buildPageParameters (String houseName) {PageParameters pageParameters = new PageParameters (); pageParameters.set ("houseName", houseName); вернуться pageParameters; }

private String capitalizedHouseName (String houseName) {if (houseName.isEmpty ()) {return houseName; } else {return houseName.substring (0, 1) .toUpperCase () +> houseName.substring (1) .toLowerCase (); }}}

Вот HTML Гиперссылки

<!DOCTYPE html>
<html lang="en" xmlns:wicket="http://wicket.apache.org">
<head>
    <meta charset="UTF-8">
    <title>Hyperlink</title>
</head>
<body>
<wicket:extend>
    <a class="nav-link py-0" href="/houses/oliveira">Oliveira</a>
</wicket:extend>
</body>
</html>

Вот Java гиперссылки

пакет website.fgto.royals_of_britain.view.houses;

import . орг apache .wicket.markup.repeater.RepeatingView; import org. apache .wicket.spring.injection.annot.SpringBean; import website.fgto.royals_of_britain.service.HousesService;

publi c Гиперссылка класса расширяет HousesDropdown {private stati c final long serialVersionUID = 1L;

@ SpringBean HousesService HousesService Houses;

publi c Hyperlink () {super (id);

add (buildDropdownLinks ());

private RepeatingView buildDropdownLinks () {RepeatingView links = new RepeatingView ("dropdownLinks ");

HousesService .findAll () .forEach ((house) -> links.add (buildDropdownItem (links, house.getName ())));

возврат ссылок; }

}}

...