如何检查哪个ftl用于在使用Struts构建的webapp中呈现页面

时间:2011-03-23 06:58:03

标签: struts2 freemarker

我想知道是否有一种简单的方法可以找到当前在网页上使用的ftl模板。如何跟踪用于生成该网页的ftl文件。

我的网络应用是使用Struts构建的

感谢。

2 个答案:

答案 0 :(得分:1)

首先,查看您查看的网页的网址。它应该看起来像“..localhost:8080 / your-app / someAction.action”。 .action后缀不是必需的,但它很常见。它也不一定是.action,它可以是任何东西(即'.do')。

现在找到你的struts.xml。它将位于项目的类路径中。你的struts.xml将包含Action标签,就像这样。

<action name="someAction,action" class="com.your.action.ActionClass">
    <result name="success"type="freemarker">/templates/some.ftl</result>
</action>

页面的URL结尾,映射到此处的操作。查看从操作返回的结果,找到用于生成响应的FTL。

根据您提供的信息,这是我能做的最好的事情。请记住,这是一个基本示例,大多数大型应用程序都有自定义方法,例如将struts.xml扩展到几个不同的文件,或使用命名空间将操作划分为包。

答案 1 :(得分:0)

如果您的所有网页(包括页眉或页脚)中都包含任何常用代码,您可以暂时将以下代码添加到其中:

Template: ${(stack.findValue("com.opensymphony.xwork2.ActionContext.actionInvocation").result.location)!}

然后在网络浏览器中查看该页面。