J'ai un projet JSF 2.0 très simple.Appel dynamique aux ensembles de messages?
J'ai un fichier index.xhtml pour me montrer une photo de Mount Rushmore. Sur cette page, je peux cliquer sur l'image et je veux qu'elle passe à "president.xhtml" - pas de problème. Une simple action = "" ...
Mon problème est que mon fichier faisceau de message (messages.properties) est mis en place avec les touches statiques et les valeurs, ex .:
jeffersonPageTitle=Thomas Jefferson
rooseveltPageTitle=Theodore Roosevelt
lincolnPageTitle=Abraham Lincoln
washingtonPageTitle=George Washington
Et dans mon « président fichier .xhtml ", je veux qu'il montre ces titres en fonction de ce que j'ai cliqué.
<h:form>
<span class="presidentPageTitle">#{msgs['rushmore.president'],PageTitle}</span>
<br />
<h:graphicImage library="images" name="jefferson.jpg" styleClass="leftImage" />
<span class="presidentDiscussion">#{msgs.washingtonDiscussion}</span>
<br />
<h:commandLink action="index" styleClass="backLink">${msgs.indexLinkText}</h:commandLink>
</h:form>
deuxième ligne dans le code ci-dessus est mon problème - je ne sais pas comment faire référence à la méthode get dans mon code java. Code est ici:
@ManagedBean // or @Named
@RequestScoped
public class Rushmore {
private String outcome = null;
private Rectangle washingtonRect = new Rectangle(70, 30, 40, 40);
private Rectangle jeffersonRect = new Rectangle(115, 45, 40, 40);
private Rectangle rooseveltRect = new Rectangle(135, 65, 40, 40);
private Rectangle lincolnRect = new Rectangle(175, 62, 40, 40);
public Rushmore() {}
public void handleMouseClick(ActionEvent e) {
FacesContext context = FacesContext.getCurrentInstance();
String clientId = e.getComponent().getClientId(context);
Map<String, String> requestParams = context.getExternalContext().getRequestParameterMap();
int x = new Integer((String) requestParams.get(clientId + ".x")).intValue();
int y = new Integer((String) requestParams.get(clientId + ".y")).intValue();
outcome = null;
if (washingtonRect.contains(new Point(x, y))) {
outcome = "washington";
}
if (jeffersonRect.contains(new Point(x, y))) {
outcome = "jefferson";
}
if (rooseveltRect.contains(new Point(x, y))) {
outcome = "roosevelt";
}
if (lincolnRect.contains(new Point(x, y))) {
outcome = "lincoln";
}
System.out.println(requestParams.keySet());
}
public String getPresident() {
return outcome;
}
public String navigate() {
if(outcome != null) {
return "president";
}
else return null;
}
}
C'est la méthode getPresident Je suis en train d'atteindre dans le fichier president.xhtml ...
Toute aide serait appréciée :)
Quelle est la différence avec l'exemple que vous suivez? IIRC c'est un des exemples de Cay Horstmanns. –