Je suis en train de développer BBS dans le framework struts2 et tiles (2).Comment puis-je faire un titre dynamiquement?
Je veux pousser une valeur dans la classe ActionSupport et afficher la valeur dans layout.jsp des tuiles. mais je continue d'échouer à accéder à la valeur.
Je vais expliquer mes travaux pas à pas.
1) Les utilisateurs cliquent sur un lien pour afficher un article sur la page de liste. Et la classe BoardView sera appelé comme défini dans la classe struts.xml
--list.jsp--
<a href="view_board?num=${num}"> ${ subject } </a>
--struts.xml--
<action name="View_board" class="board.BoardView">
<result type="tiles">board.view</result>
</action>
2) Action mettra titre dans la pile de valeur ... non?
--BoardView class--
public class BoardView extends ActionSupport
private String title;
public void Execute() throws Exception {
...
setTitle(board.getSubject());
return SUCCESS;
}
...
(setter and getter of title)
3) Comme retourne actionclass succès, il ira à la définition des tuiles nommé board.view
--struts.xml--
<action name="View_board" class="board.BoardView">
<result type="tiles">board.view</result>
</action>
4) Voici le tiles-def.xml et le problème. Je pense que la valeur de 'title' ne peut pas être extraite de la pile de valeur.
== tuiles def.xml ==
<definition name="board.view" extends="layout">
<put-attribute name="title" value="%title" />
<put-attribute name="body" value="/board/view.jsp" />
</definition>
(je ne peux pas tiret avec des étiquettes ... désolé)
Voici les layout.jsp == s ==
... <title><tiles:getAsString name="title" /></title> ...
J'ai essayé de remplacer l'attribut value par% {title}, $ title et $ {title}. Mais rien ne s'est passé. Le navigateur Web affiche simplement la chaîne elle-même ($ title).
Je ne sais pas quoi faire ... s'il vous plaît aidez-moi.
J'espère que vous comprenez tous mes travaux malgré ma mauvaise explication.
@Marko - si vous voulez augmenter vos réponses tardives, veuillez au moins améliorer celles qui en ont besoin. Cette réponse nécessite un formatage pour afficher correctement le code; Tel qu'il était, la réponse que vous avez approuvée n'avait aucun sens. – LittleBobbyTables