如何检查使用 Struts 构建的 web 应用程序中使用哪个 ftl 来呈现页面
我想知道是否有一种简单的方法可以找到网页上当前使用的 ftl 模板。我如何跟踪正在使用哪个 ftl 文件来生成该网页。
我的网络应用程序是使用 Struts 构建的,
谢谢。
I was wondering if there is an easy way to find the ftl template currently in use on a web page. How can I trace which ftl file is being used to generate that web page.
My web app is built using Struts
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,查看您正在查看的页面的 URL。它应该看起来像“..localhost:8080/your-app/someAction.action”。 .action 后缀不是必需的,但很常见。它也不一定是.action,它可以是任何东西(即“.do”)。
现在找到你的struts.xml。它将位于您项目的类路径上。您的 struts.xml 将包含 Action 标记,如下所示。
页面 url 的末尾,映射到此处的操作。查看操作返回的结果,您会找到用于生成响应的 FTL。
根据您提供的信息,这是我能做的最好的事情。请记住,这是一个基本示例,大多数大型应用程序都有自定义方法,例如将 struts.xml 分散到多个不同的文件,或使用命名空间将操作划分为包。
First, look at the URL of the page your viewing. It should look something like "..localhost:8080/your-app/someAction.action". The .action suffix is not required, but it is common. It also doesn't have to be .action, it could be anything (i.e. '.do').
Now find your struts.xml. That will be located on the classpath of your project. Your struts.xml will contain Action tags, like this.
The end of the url of the page, is mapped to an action in here. Look at the result returned from the action, and you find the FTL that is used to generate the response.
This is the best I can do, with the information you have provided. Keep in mind this is a basic example, and most large apps have customized approaches, like spreading out the struts.xml to several different files, or using namespaces to divide actions into packages.
如果您的所有页面上都包含任何通用代码(例如页眉或页脚),您可以临时添加以下内容:
Template: ${(stack.findValue("com.opensymphony.xwork2.ActionContext. actionIncation").result.location)!}
然后在网络浏览器中查看该页面。
If you have any common code that's included on all your pages (say a header or footer), you could temporarily add the following to it:
Template: ${(stack.findValue("com.opensymphony.xwork2.ActionContext.actionInvocation").result.location)!}
Then view the page in a web browser.