如何检查使用哪个 ftl 在使用 Struts 构建的 webapp 中呈现页面
Posted
技术标签:
【中文标题】如何检查使用哪个 ftl 在使用 Struts 构建的 webapp 中呈现页面【英文标题】:How to check which ftl is used to render a page in a webapp built with Struts 【发布时间】:2011-07-21 02:01:55 【问题描述】:我想知道是否有一种简单的方法可以找到当前在网页上使用的 ftl 模板。如何跟踪正在使用哪个 ftl 文件来生成该网页。
我的网络应用是使用 Struts 构建的
谢谢。
【问题讨论】:
我需要更多关于您的情况的背景信息。您的应用程序是使用特定框架(即 Struts)构建的吗? 是的,应用是使用spring和struts构建的 【参考方案1】:如果您的所有页面中都包含任何通用代码(例如页眉或页脚),您可以临时添加以下代码:
Template: $(stack.findValue("com.opensymphony.xwork2.ActionContext.actionInvocation").result.location)!
然后在网络浏览器中查看页面。
【讨论】:
【参考方案2】:首先,查看您查看的页面的 URL。它应该类似于“..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结尾,在这里映射到一个action。查看操作返回的结果,您会找到用于生成响应的 FTL。
根据您提供的信息,这是我能做的最好的事情。请记住,这是一个基本示例,大多数大型应用程序都有自定义方法,例如将 struts.xml 分散到几个不同的文件中,或者使用命名空间将操作分成包。
【讨论】:
以上是关于如何检查使用哪个 ftl 在使用 Struts 构建的 webapp 中呈现页面的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Jive 中的 FTL 为 Java bean 设置值
freemarker 使用jstl标签,我引入了jstl,在ftl中如何使用呢? <@c:set var="ctx" value="XX" /&g