-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathref_directive_if.html
179 lines (136 loc) · 12.1 KB
/
ref_directive_if.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
<!doctype html>
<html lang="en" class="page-type-section">
<head prefix="og: http://ogp.me/ns#">
<meta charset="utf-8">
<title>if, else, elseif - FreeMarker 手册</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="format-detection" content="telephone=no">
<meta property="og:site_name" content="FreeMarker 手册">
<meta property="og:title" content="if, else, elseif">
<meta property="og:locale" content="en_US">
<meta property="og:url" content="http://freemarker.org/docs/ref_directive_if.html">
<link rel="canoical" href="http://freemarker.org/docs/ref_directive_if.html">
<link rel="icon" href="favicon.png" type="image/png">
<link rel="stylesheet" type="text/css" href="docgen-resources/docgen.min.css">
</head>
<body itemscope itemtype="https://schema.org/Code">
<meta itemprop="url" content="http://freemarker.org/docs/">
<meta itemprop="name" content="FreeMarker 手册">
<!--[if lte IE 9]>
<div style="background-color: #C00; color: #fff; padding: 12px 24px;">Please use a modern browser to view this website.</div>
<![endif]--><div class="header-top-bg"><div class="site-width header-top"><a class="logo" href="http://freemarker.org" role="banner"> <img itemprop="image" src="logo.png" alt="FreeMarker">
</a><ul class="tabs"><li><a href="http://freemarker.org/">Home</a></li><li class="current"><a href="index.html">Manual</a></li><li><a class="external" href="http://freemarker.org/docs/api/index.html">Java API</a></li></ul><ul class="secondary-tabs"><li><a class="tab icon-heart" href="http://freemarker.org/contribute.html" title="Contribute"><span>Contribute</span></a></li><li><a class="tab icon-bug" href="https://sourceforge.net/p/freemarker/bugs/new/" title="Report a Bug"><span>Report a Bug</span></a></li><li><a class="tab icon-download" href="http://freemarker.org/freemarkerdownload.html" title="Download"><span>Download</span></a></li></ul></div></div><div class="header-bottom-bg"><div class="site-width search-row"><a href="toc.html" class="navigation-header">Manual</a><div class="navigation-header"></div></div><div class="site-width breadcrumb-row"><ul class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList"><li class="step-0" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="toc.html"><span itemprop="name">FreeMarker 手册</span></a></li><li class="step-1" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="ref.html"><span itemprop="name">模板语言参考 </span></a></li><li class="step-2" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="ref_directives.html"><span itemprop="name">指令参考</span></a></li><li class="step-3" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a class="label" itemprop="item" href="ref_directive_if.html"><span itemprop="name">if, else, elseif</span></a></li></ul><div class="bookmarks" title="Bookmarks"><span class="sr-only">Bookmarks:</span><ul class="bookmark-list"><li><a href="alphaidx.html">Alpha. index</a></li><li><a href="gloss.html">Glossary</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions</a></li><li><a href="ref_builtins_alphaidx.html">?builtins</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_specvar.html">.spec_vars</a></li><li><a href="app_faq.html">FAQ</a></li></ul></div></div></div> <div class="main-content site-width">
<div class="content-wrapper">
<div id="table-of-contents-wrapper" class="col-left">
<script>var breadcrumb = ["FreeMarker 手册","模板语言参考 ","指令参考","if, else, elseif"];</script>
<script src="toc.js"></script>
<script src="docgen-resources/main.min.js"></script>
</div>
<div class="col-right"><div class="page-content"><div class="page-title"><div class="pagers top"><a class="paging-arrow previous" href="ref_directive_global.html"><span>Previous</span></a><a class="paging-arrow next" href="ref_directive_import.html"><span>Next</span></a></div><div class="title-wrapper">
<h1 class="content-header header-section1" id="ref_directive_if" itemprop="headline">if, else, elseif</h1>
</div></div><div class="page-menu">
<div class="page-menu-title">Page Contents</div>
<ul><li><a class="page-menu-link" href="#autoid_85" data-menu-target="autoid_85">概要</a></li><li><a class="page-menu-link" href="#autoid_86" data-menu-target="autoid_86">描述</a></li></ul> </div><a name="ref.directive.if"></a><a name="ref.directive.else"></a><a name="ref.directive.elseif"></a>
<h2 class="content-header header-section2" id="autoid_85">概要</h2>
<pre class="metaTemplate">
<code class="inline-code"><#if <em class="code-color">condition</em>>
<em class="code-color">...</em>
<#elseif <em class="code-color">condition2</em>>
<em class="code-color">...</em>
<#elseif <em class="code-color">condition3</em>>
<em class="code-color">...</em>
<em class="code-color">...</em>
<#else>
<em class="code-color">...</em>
</#if></code>
</pre>
<p>这里:</p>
<ul>
<li>
<code class="inline-code"><em class="code-color">condition</em></code>,
<code class="inline-code"><em class="code-color">condition2</em></code>,
等:将被计算成布尔值的表达式。
</li>
</ul>
<p><code class="inline-code">elseif</code> 和
<code class="inline-code">else</code> 是可选的。</p>
<h2 class="content-header header-section2" id="autoid_86">描述</h2>
<p>你可以使用 <code class="inline-code">if</code>, <code class="inline-code">elseif</code>
和 <code class="inline-code">else</code> 指令来条件判断是否越过模板的一个部分。
<code class="inline-code"><em class="code-color">condition</em></code> 必须计算成布尔值,
否则错误将会中止模板处理。<code class="inline-code">elseif</code> 和
<code class="inline-code">else</code> 必须出现在 <code class="inline-code">if</code> 内部
(也就是,在 <code class="inline-code">if</code> 的开始标签和结束标签之间)。
<code class="inline-code">if</code> 中可以包含任意数量的
<code class="inline-code">elseif</code>(包括0个) 而且结束时
<code class="inline-code">else</code> 是可选的。比如:</p>
<p>只有 <code class="inline-code">if</code> 没有 <code class="inline-code">elseif</code> 和
<code class="inline-code">else</code>:</p>
<div class="code-wrapper"><pre class="code-block code-template"><#if x == 1>
x is 1
</#if></pre></div>
<p>只有 <code class="inline-code">if</code> 没有 <code class="inline-code">elseif</code> 但是有
<code class="inline-code">else</code>:</p>
<div class="code-wrapper"><pre class="code-block code-template"><#if x == 1>
x is 1
<#else>
x is not 1
</#if></pre></div>
<p>有 <code class="inline-code">if</code> 和两个 <code class="inline-code">elseif</code> 但是没有
<code class="inline-code">else</code>:</p>
<div class="code-wrapper"><pre class="code-block code-template"><#if x == 1>
x is 1
<#elseif x == 2>
x is 2
<#elseif x == 3>
x is 3
</#if></pre></div>
<p>有 <code class="inline-code">if</code> 和三个 <code class="inline-code">elseif</code> 还有
<code class="inline-code">else</code>:</p>
<div class="code-wrapper"><pre class="code-block code-template"><#if x == 1>
x is 1
<#elseif x == 2>
x is 2
<#elseif x == 3>
x is 3
<#elseif x == 4>
x is 4
<#else>
x is not 1 nor 2 nor 3 nor 4
</#if></pre></div>
<p>要了解更多布尔表达式,可以参考:<a href="dgui_template_exp.html">模板开发指南/模板/表达式</a>.</p>
<p>你(当然)也可以嵌套 <code class="inline-code">if</code> 指令:</p>
<div class="code-wrapper"><pre class="code-block code-template"><#if x == 1>
x is 1
<#if y == 1>
and y is 1 too
<#else>
but y is not
</#if>
<#else>
x is not 1
<#if y < 0>
and y is less than 0
</#if>
</#if></pre></div>
<div class="callout note">
<strong class="callout-label">Note:</strong>
<p>当你想测试是否 <code class="inline-code">x > 0</code> 或
<code class="inline-code">x >= 0</code>,编写 <code class="inline-code"><#if x >
0></code> 和 <code class="inline-code"><#if x >= 0></code> 是错误的,
因为第一个 <code class="inline-code">></code> 会结束
<code class="inline-code">#if</code> 标签。要这么来做,可以编写
<code class="inline-code"><#if x gt 0></code> 或 <code class="inline-code"><#if gte
0></code>。也请注意,如果比较发生在括号内部,那么就没有这样的问题,
比如 <code class="inline-code"><#if
foo.bar(x > 0)></code> 就会得到想要的结果。</p>
</div>
<div class="bottom-pagers-wrapper"><div class="pagers bottom"><a class="paging-arrow previous" href="ref_directive_global.html"><span>Previous</span></a><a class="paging-arrow next" href="ref_directive_import.html"><span>Next</span></a></div></div></div></div> </div>
</div>
<div class="site-footer"><div class="site-width"><div class="footer-top"><div class="col-left sitemap"><div class="column"><h3 class="column-header">Overview</h3><ul><li><a href="http://freemarker.org/index.html">What is FreeMarker?</a></li><li><a href="http://freemarker.org/freemarkerdownload.html">Download</a></li><li><a href="app_versions.html">Version history</a></li><li><a href="http://freemarker.org/history.html">About us</a></li><li><a itemprop="license" href="app_license.html">License</a></li></ul></div><div class="column"><h3 class="column-header">Handy stuff</h3><ul><li><a href="http://freemarker-online.kenshoo.com/">Try template online</a></li><li><a href="dgui_template_exp.html#exp_cheatsheet">Expressions cheatsheet</a></li><li><a href="ref_directive_alphaidx.html">#directives</a></li><li><a href="ref_builtins_alphaidx.html">?built_ins</a></li><li><a href="ref_specvar.html">.special_vars</a></li></ul></div><div class="column"><h3 class="column-header">Community</h3><ul><li><a href="https://github.com/nanlei/freemarker/tree/manual-zh-2.3-gae/src/manual">Chinese Manual on Github</a></li><li><a href="https://github.com/freemarker/freemarker">FreeMarker on Github</a></li><li><a href="https://twitter.com/freemarker">Follow us on Twitter</a></li><li><a href="https://sourceforge.net/p/freemarker/bugs/new/">Report a bug</a></li><li><a href="http://stackoverflow.com/questions/ask?tags=freemarker">Ask a question</a></li><li><a href="http://freemarker.org/mailing-lists.html">Mailing lists</a></li></ul></div></div><div class="col-right"><ul class="social-icons"><li><a class="github" href="https://github.com/freemarker/freemarker">Github</a></li><li><a class="twitter" href="https://twitter.com/freemarker">Twitter</a></li><li><a class="stack-overflow" href="http://stackoverflow.com/questions/ask?tags=freemarker">Stack Overflow</a></li></ul><a class="xxe" href="http://www.xmlmind.com/xmleditor/" rel="nofollow" title="Edited with XMLMind XML Editor"><span>Edited with XMLMind XML Editor</span></a></div></div><div class="footer-bottom"><p><span class="generated-for-product">Generated for: Freemarker 2.3.23</span><span class="last-updated"> Last generated:
<time itemprop="dateModified" datetime="2015-09-18T14:38:51Z" title="Friday, September 18, 2015 2:38:51 PM GMT">2015-09-18 14:38:51 GMT</time></span></p> <p class="copyright">
© <span itemprop="copyrightYear">1999</span>–2015
<a itemtype="http://schema.org/Organization" itemprop="copyrightHolder" href="http://freemarker.org">The FreeMarker Project</a>. All rights reserved. </p>
</div></div></div></body>
</html>