Прежде всего, у меня есть заголовок и нижний колонтитул, которые будут отображаться на всех моих jsp страницах. Целевая страница отображается как "/". Первая ссылка в нижнем колонтитуле отображается как "/ recrutement". Вторая ссылка в нижнем колонтитуле отображается как «/ service». Внутри набора. jsp (первая ссылка нижнего колонтитула) у меня есть ссылка, сопоставленная с "/ annonce". Когда я нахожусь на Annonce. jsp URL-адрес http://localhost: 8080 / набор / Annonce . пока здесь все нормально. Но в то время как на annonce. jsp, если я нажимаю на ссылку второго нижнего колонтитула, URL заканчивается как http://localhost: 8080 / recrutement / annonce / service вместо просто http://localhost: 8080 /service...
Я думаю, что в моем отображении может быть ошибка? или возможно с viewResolver? Спасибо за вашу помощь
Все 3 заинтересованных контроллера:
@Controller
@RequestMapping(path = "/")
public class AccueilController {
@GetMapping(path = "/")
public String showAccueil(Model theModel, HttpSession session) {
...
return "index";
}
}
@Controller
@RequestMapping("/recrutement")
public class RecrutementController {
@Autowired
private JobOfferRepository jor;
@GetMapping(path = "")
public String showRecrutement(Model theModel) {
List<JobOffer> ajo = jor.findAll();
theModel.addAttribute("jobOfferList", ajo);
return "recrutement";
}
@GetMapping(path = "/{id}")
public String showJobOffer(Model theModel, @PathVariable int id){
JobOffer jo = jor.findById(id).get();
theModel.addAttribute("jobOffer", jo);
return "recrutementAnnonce";
}
}
@Controller
@RequestMapping("/")
public class StaticPagesController {
@GetMapping(path = "/services")
public String showServices() {
return "services";
}
}
Мой нижний колонтитул html:
</div> <--- opening div located at end of header
<div class="middle" >
<div class="block">
<span class="title">Services Orvif</span>
<ul>
<li><a href="services">Services</a></li>
</ul>
</div>
<div class="block">
<span class="title">Nous contacter</span>
<ul>
<li><a href="recrutement">Recrutement</a></li>
</ul>
</div>
</body>
</html>
набор jsp:
<%@ include file="header.jsp" %>
<h1 id="carreerTitle">Carrière</h1>
<ul id="listJob">
<c:forEach items="${jobOfferList}" var="career">
<li>
<p>${career.jobTitle}</p>
<a href="/recrutement/${career.id}" class="button red-blue">Voir l'annonce</a>
</li>
</c:forEach>
</ul>
<%@ include file="footer.jsp" %>
recrutementAnnonce jsp (на мой взгляд, ничего интересного, кроме включенного нижнего колонтитула внизу:
<%@ include file="header.jsp" %>
<div id="descriptionJob">
<h2>
Description du poste
</h2>
<p>${jobOffer.jobDescription}</p>
</div>
<div id="listMissionJob">
<h2>Vos missions</h2>
<ul>
<c:forEach items="${jobOffer.jobMissionsById}" var="mission">
<li><span class="circleRed"></span>${mission}
</li>
</c:forEach>
</ul>
</div>
<%@ include file="footer.jsp" %>