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 ())));
возврат ссылок; }
}}