gpt4 book ai didi

struts2 ognl servlet 上下文

转载 作者:行者123 更新时间:2023-12-02 11:06:43 31 4
gpt4 key购买 nike

我想在 Struts 2 应用程序的每个页面上显示一些常量,例如 APVERSION、APPNAME 和 APPREV。

根据这些要求,我认为将该信息放入 servletContext 并在部署应用程序时加载它会很棒。

我创建了一个实现 ServletContextListener 的监听器:

public class ApplicationInitListenerImpl extends GenericVsService implements ApplicationInitListener,ServletContextListener {

@Override
public void contextDestroyed(ServletContextEvent sce) {
}

@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext sc = sce.getServletContext();
sc.setAttribute("appVer",xxx.utils.VConstants.APPVER);
sc.setAttribute("appName",xxx.utils.VConstants.APPNAME);
sc.setAttribute("appRev",xxx.utils.VConstants.APPREV);
}
}

然后我在我的 web.xml 中添加了监听器:

<listener>
<listener-class>xxx.listeners.ApplicationInitListenerImpl</listener-class>
</listener>

在我的 Tiles 模板中添加了:

<s:property value="#application.appName"/> - <s:property value="#application.appVer"/>

但我在这里什么也没得到。

如果我从 Struts 2 Action 检索 servletContext,我可以读取正确的值,因此这些值设置正确。

我做错了什么?

最佳答案

你可以使用

<s:property value="#attr.appName"/> - <s:property value="#attr.appVer"/>

或者

${appName}  -  ${appVer}

关于struts2 ognl servlet 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14881565/

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