В моем приложении я показываю сотрудников на странице, и у каждого из них есть кнопка «навыки», при нажатии кнопки перенаправляются на другую страницу, содержащую навыки информирования об указанном сотруднике. Проблема, с которой я сталкиваюсь, заключается в том, что при нажатии на сотрудника для отображения информации он работает, но при выборе другого браузер сохраняет старую информацию о первом, я думаю, это проблема кэширования.
@ManagedBean(name = "affecterCompetenceManagedBean")
@SessionScoped
public class AffecterCompetenceManagedBean {
@EJB
EmployeeServiceRemote employeeServiceRemote;
private List<Employee> listeEmployees = new ArrayList<Employee>();
private Employee selectedEmployee = new Employee();
public String sendEmployeeDetails(String id) {
this.selectedEmployee = employeeServiceRemote.getEmployeeById(Integer.valueOf(id));
return "employee_competences?faces-redirect=true";
}
..//
}
Это страница JSF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
template="/WEB-INF/template/template.xhtml">
<meta http-equiv="cache-control" content="no-cache" />
<ui:define name="title">
<title>INDEX</title>
</ui:define>
<ui:define name="content">
<div class="col-xl-12 col-lg-8">
<div class="row">
<ui:repeat value="#{affecterCompetenceManagedBean.listeEmployees}"
var="item">
<div class="col-xl-4 col-lg-6">
<div class="card b text-center">
<div class="card-body">
<img class="rounded-circle thumb64 mb-2" src="img/user/03.jpg"
alt="avatar" />
<p class="h4 text-bold mb-0">#{item.nom}</p>
<p>#{item.jobTitle}</p>
<h:form>
<h:commandButton class="btn btn-info btn-oval"
value="skills"
action="#{affecterCompetenceManagedBean.sendEmployeeDetails(item.id)}">
</h:commandButton>
</h:form>
</div>
</div>
</div>
</ui:repeat>
</div>
</div>
</ui:define>
</ui:composition>