J'ai une classe Message.java
avec deux variables de même type Location.java
appelé origin
et destination
Struts 2. s: propriété. Comment obtenir la valeur d'une variable dont le nom est passé en paramètre au jsp?
Message.java
public class Message{
private Location origin;
private Location destination;
//Getters and setters correctly defined
}
Location.java
public class Location{
private String address;
}
MessageAction.java 01 Je souhaite réutiliser du code, j'ai donc créé une JSP commune et transmis le nom de ces variables par paramètre. (Bien sûr, le code est plus complexe, ce n'est un exemple de base, il me aide vraiment à réutiliser le code)
message.jsp
<s:push value="message">
<s:include value="/jsp/location.jsp">
<s:param name="variableName" value="'origin'" />
</s:include>
<s:include value="/jsp/location.jsp">
<s:param name="variableName" value="'destination'" />
</s:include>
</push>
voilà le problème, je Je ne sais pas comment montrer la valeur de %{variableName}.address
. J'ai essayé plusieurs combinaisons et googlé un moment mais je n'ai rien trouvé.
location.jsp
<s:set name="variableName">${param.variableName}</s:set>
<s:property value="%{%{variableName}.address}" />
Si j'écris directement les noms des variables, je reçois leur valeur correctement, donc l'action est mise en les correctement.
<s:property value="origin.address" />
<s:property value="destination.address" />
Voir http://stackoverflow.com/q/16712395/1700321. –