科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Struts freemaker标记语法

Struts freemaker标记语法

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。  

来源:中国IT实验室 2013年3月11日

关键字: java freemaker Struts

  • 评论
  • 分享微博
  • 分享邮件

ZDNet至顶网软件频道 FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。  

借Struts2核心jar包下的Filter包的error.ftl文件来学习一下freemaker的标记语法

该ftl模板(error.ftl)用于指示开发者Struts页面请求出错后,指定转向该模板所生成的html静态页面

<#--

/*

* $Id: error.ftl 720258 2008-11-24 19:05:16Z musachy $

*

* Licensed to the Apache Software Foundation (ASF) under one

* or more contributor license agreements. See the NOTICE file

* distributed with this work for additional information

* regarding copyright ownership. The ASF licenses this file

* to you under the Apache License, Version 2.0 (the

* "License"); you may not use this file except in compliance

* with the License. You may obtain a copy of the License at

*

* http://www.apache.org/licenses/LICENSE-2.0

*

* Unless required by applicable law or agreed to in writing,

* software distributed under the License is distributed on an

* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

* KIND, either express or implied. See the License for the

* specific language governing permissions and limitations

* under the License.

*/

-->

<html>

<head>

<title>Struts Problem Report</title>

<style>

pre {

margin: 0;

padding: 0;

}

</style>

</head>

<body>

<h2>Struts Problem Report</h2>

<p>

Struts has detected an unhandled exception:

</p>

<#assign msgs = [] />

<#list chain as ex>

<#if ex.message??>

<#assign msgs = [ex.message] + msgs/>

</#if>

</#list>

<#assign rootex = exception/>

<#list chain as ex>

<#if (ex.location?? && (ex.location != unknown))>

<#assign rootloc = ex.location/>

<#assign rootex = ex/>

<#else>

<#assign tmploc = locator.getLocation(ex) />

<#if (tmploc != unknown)>

<#assign rootloc = tmploc/>

<#assign rootex = ex/>

</#if>

</#if>

</#list>

<div id="exception-info">

<table>

<tr>

<td><strong>Messages</strong>:</td>

<td>

<#if (msgs?size > 1)>

<ol>

<#list msgs as msg>

<#if (msg?is_method)>

<li>${msg[0]}</li>

<#else>

<li>${msg}</li>

</#if>

</#list>

</ol>

<#elseif (msgs?size == 1)>

<#if (msgs[0]?is_method)>

<li>${msgs[0][0]}</li>

<#else>

<li>${msgs[0]}</li>

</#if>

</#if>

</td>

</tr>

<#if rootloc??>

<tr>

<td><strong>File</strong>:</td>

<td>${rootloc.URI}</td>

</tr>

<tr>

<td><strong>Line number</strong>:</td>

<td>${rootloc.lineNumber}</td>

</tr>

<#if (rootloc.columnNumber >= 0)>

<tr>

<td><strong>Column number</strong>:</td>

<td>${rootloc.columnNumber}</td>

</tr>

</#if>

</#if>

</table>

</div>

<#if rootloc??>

<#assign snippet = rootloc.getSnippet(2) />

<#if (snippet?size > 0)>

<div id="snippet">

<hr />

<#list snippet as line>

<#if (line_index == 2)>

<#if (rootloc.columnNumber >= 3)>

<pre style="background:yellow">${(line[0(rootloc.columnNumber-3)]?html)}& lt;span style="background:red">${(line[(rootloc.columnNumber-2)]?html)}< /span><#if ((rootloc.columnNumber)<line.length())>${(line[(rootloc.columnNumber- 1)]?html)}</#if></pre>

<#else>

<pre style="background:yellow">${line?html}</pre>

</#if>

<#else>

<pre>${line?html}</pre>

</#if>

</#list>

</div>

</#if>

</#if>

<div id="stacktraces">

<hr />

<h3>Stacktraces</h3>

<#list chain as ex>

<div class="stacktrace" style="padding-left: ${ex_index * 2}em">

<strong>${ex}</strong>

<div>

<pre>

<#list ex.stackTrace as frame>

${frame}

</#list>

</pre>

</div>

</div>

</#list>

</div>

<div class="footer">

<hr />

<p>

You are seeing this page because development mode is enabled. Development mode, or devMode, enables extra

debugging behaviors and reports to assist developers. To disable this mode, set:

<pre>

struts.devMode=false

</pre>

in your <code>WEB-INF/classes/struts.properties</code> file.

</p>

</div>

</body>

</html>


    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章