重复的 Freemarker 警告消息 - 渲染标记超出操作范围

发布于 2025-01-20 12:18:04 字数 555 浏览 1 评论 0原文

我有一个在tomcat9 / ubuntu服务器上运行的Struts Web应用程序(Core v2.5.30)。 Syslog文件获得了许多错误消息实例,类似于以下内容。应用程序中没有直接访问的JSP,并且JSP通过web.xml在消息中提到的URL中被阻止。

[2022-04-11 13:17:39] [info] [warn] 2022-04-11 13:17:39 [https-openssl-nio-nio-8443-exec-5] /xhtml/head.ftl不用行动范围,不建议直接访问JSP!请阅读 https://struts.apache.org/security/security/security/security/##永无止境的jsp-files

是什么导致这些消息出现?

I have a Struts web application (core V2.5.30) running on Tomcat9 / Ubuntu server. The syslog file is getting numerous instances of error messages similar to the following. There are no directly accessible JSP's in the application, and JSP's are blocked via web.xml per advice in the URL mentioned in the message.

[2022-04-11 13:17:39] [info] [WARN ] 2022-04-11 13:17:39 [https-openssl-nio-8443-exec-5] FreemarkerTemplateEngine - Rendering tag /template/xhtml/head.ftl out of Action scope, accessing directly JSPs is not recommended! Please read https://struts.apache.org/security/#never-expose-jsp-files-directly

What's causing these messages to appear?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

剪不断理还乱 2025-01-27 12:18:04

index.jsp中的某些内容正在调用JSP页面。它可能是包含或转发的页面。有了相同的请求,但所谓的页面包含Struts标签。

如果您将其定义为Web应用程序描述符文件中的>,则通过Web容器本身处理索引页面。因此,它没有处理Struts2滤波器,因此没有动作范围。

如果要通过Struts2进行处理,则应创建结果返回此页面的操作映射。

如果您在JSP页面内使用Struts标签,则应列出是否列出的文件,它应该是dispatcher操作的结果。如果您导航到Web内容层次结构的文件夹,并且内部没有一个欢迎文件,并且没有映射到该URL的操作,则可以由Web容器来处理欢迎文件列表文件。在这种情况下,您无法在欢迎文件中使用支撑杆标签,因为您尝试在没有关联过滤器的情况下运行它,否则struts2 filter已经处理了另一个请求。

请参见 Hello Hello world 应用程序或使用Struts2 将向您展示如何创建使用index操作或使用大会你好世界示例。

Something inside index.jsp is calling JSP page. It may be an included or forwarded page. With the same request but the page which is called contains struts tags.

Index page is handled by web container itself if you defined it as <welcome-file> in the web application descriptor file. So it didn't handle struts2 filter and hence no action Scope was available.

If you want to make it handled by struts2 you should create the action mapping that returns this page as result.

If you are using Struts tags inside JSP page, either it welcome file listed or not it should be a dispatcher result of an action. Welcome file list files could be handled by the web container if you navigate to the folder of your web content hierarchy and there's a welcome file inside it, and there's no action mapped to that URL. In this case you cannot use struts tags inside the welcome file because you are trying to run it without associated filter, or the struts2 filter is already handled another request.

See the examples of Hello World application or Hello World using Struts2 that would show you how to create action configuration that utilize an index action or use actionless results using Convention Hello World example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文