我正在用struts2 和tiles(2) 框架开发BBS。
我想在 ActionSupport 类中推送一个值并在图块的 layout.jsp 中弹出该值。但我只是一直无法获得价值。
我将逐步解释我的作品。
1) 用户点击链接在列表页面查看文章。并且 BoardView 类将按照 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)动作类将标题放入值堆栈......对吗?
--BoardView类--
public class BoardView extends ActionSupport
private String title;
public void Execute() throws Exception {
...
setTitle(board.getSubject());
return SUCCESS;
}
...
(setter and getter of title)
3) 当 ActionClass 返回 SUCCESS 时,它将转到名为 board.view
--struts.xml--的图块定义
<action name="View_board" class="board.BoardView">
<result type="tiles">board.view</result>
</action>
4)这是tiles-def.xml和问题。我认为'title'的值不能从值堆栈中弹出。
==tiles-def.xml==
(我不能用标签缩进......对不起)
这是layout.jsp ==layout.jsp==
<definition name="board.view" extends="layout">
<put-attribute name="title" value="%title" />
<put-attribute name="body" value="/board/view.jsp" />
</definition>
...
<title><tiles:getAsString name="title" /></title>
...
我尝试将 value 属性替换为 %{title}、$title 和 ${title}。但什么都没有解决。Web 浏览器只显示字符串本身($title)。
我不知道该怎么办...请帮助我。
尽管我的解释很糟糕,但我希望你们都能理解我的作品。