gpt4 book ai didi

jsp - struts 2、tiles 2 动态标题

转载 作者:行者123 更新时间:2023-12-03 04:06:38 25 4
gpt4 key购买 nike

我使用tiles 2.0.6作为我的模板框架以及struts 2.1.6。我正在编写一个简单的cms页面,想让用户定义每个html页面的标题。

我有一个这样的标题定义

    <definition name="base" template="/WEB-INF/jsp/templates/base.jsp">
<put-attribute name="title" value=" "/>
<put-attribute name="header" value="/WEB-INF/jsp/templates/header.jsp"/>
<put-attribute name="content" value="dummy"/>
<put-attribute name="footer" value="/WEB-INF/jsp/templates/footer.jsp"/>
<put-attribute name="search" value="/WEB-INF/jsp/search.jsp"/>
</definition>
<definition name="staticview" extends="base">
<put-attribute name="title" value=" - Static"/>
<put-attribute name="content" value="/WEB-INF/jsp/static/view.jsp"/>
</definition>

有没有办法在后面的jsp属性中动态覆盖我的header.jsp上的标题(字符串),而不是使标题成为jsp,例如view.jsp。或者甚至使用 EL 更进一步

<put-attribute name="title" value="%{title}"/>

并让它动态地获取 struts ognl 上的标题。

请指教

提前致谢

最佳答案

在 View 页面中我们需要有这个 -

<title><tiles:getAsString name="title" /></title>

上面将为您提供页面的标题。除了,因为我们希望页面标题是动态的,所以在tiles.xml配置中,我添加了

<definition name="page1" extends="base">
<put-attribute name="title" value="Page 1"/>
<put-attribute name="content" value="/WEB-INF/jsp/page1.jsp"/>
</definition>
<definition name="page2" extends="base">
<put-attribute name="title" value="Page 2"/>
<put-attribute name="content" value="/WEB-INF/jsp/page2.jsp"/>
</definition>

现在看来,键入它会使其看起来像是静态的。但每次您查看该页面时,该页面的标题都应该相同。还有什么地方比tiles.xml 上的信息更好呢?

对我来说,这不是标题本身,但我需要不同的页面标题。我不想查看上下文属性来获取页面的路径并确定页面的标题。所以,这对我有用,并使一切保持松散耦合。

如果您想为每个页面或类似内容使用不同的动态标题,则此方法有效。

关于jsp - struts 2、tiles 2 动态标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1552094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com