中英文对照 介绍Play Framework 框架 Java扩展

lyuehh 发布于 2010/07/26 13:48
阅读 1K+
收藏 6

 

给Java增加的扩展方法

h1. Java extensions

 

Java扩展给对象增加了许多方法,是之在视图模板中便利的使用,让表达式更有表现力。

Java extensions add convenience methods to objects for use in view templates, making expressions more expressive.

 

下面的例子展示了一个模板表达式的示例,结果在第二行。

The code examples show an example template expression, with its result on the next line.

 

 

集合扩展

h2. <a>Collection extensions</a>

 

 

join方法

h3. <a>join(separator)</a>

 

使用所给的分隔符,连接集合中的实体,返回String。

Concatenates the collection’s entries, with the given separator between each entry. Returns: **String**.

 

例子:

bc. ${['red', 'green', 'blue'].join('/')}

red/green/blue

 

plurzlize方法

h3. <a>pluralize()</a>

 

如果集合的数量不是1,则返回一个‘s’,返回String。

Returns an ‘s’ when the collection’s size is not 1. Returns: **String**.

 

例子:

bc. colour${['red', 'green', 'blue'].pluralize()} 

colours

 

pluralize方法

h3. <a>pluralize(plural)</a>

 

如果集合的数量不是1,则返回实体的复数。

Returns the given plural when the collection’s size is not 1. Returns: **String**.

 

bc. box${['red', 'green', 'blue'].pluralize('es')}

boxes

 

pluralize方法

h3. <a>pluralize(singular, plural)</a>

 

如果集合的数量不是1返回所给复数,如果数量是1的话返回单数。返回String。

Returns the given plural form when the collection’s size is not 1; returns the given singular form when it is 1. Returns: **String**.

 

bc. journ${['red'].pluralize('al', 'aux')}

journal

 

journ${['red', 'green', 'blue'].pluralize('al', 'aux')}

journaux

 

时间扩展

h2. <a>Date extensions</a>

 

format方法

h3. <a>format(format)</a>

 

使用所给的日期格式模式格式化日期,返回String。

Formats the date using the given date format pattern. Returns: **String**.

 

bc. ${new Date(1275910970000).format('dd MMMM yyyy hh🇲🇲ss', 'fr')}

07 June 2010 01:42:50

 

format方法

h3. <a>format(format, language)</a>

使用所给的日期格式模式和所给的语言,格式化日期,返回String。

Formats the date using the given date format pattern, in the given language. Returns: **String**.

 

bc. ${new Date(1275910970000).format('dd MMMM yyyy hh🇲🇲ss', 'fr')}

07 juin 2010 01:42:50

 

since方法

h3. <a>since()</a>

 

将时间格式化为和现在相比的相对时间,例如3分钟以前,返回String。

Formats the date as a relative time, compared to now, e.g. **3 minutes ago**. Returns: **String**.

 

bc. ${new Date(new Date().getTime() - 1000000).since()}

16 minutes ago

 

你可以使用下列消息自定义输出,**since.seconds**, **since.minutes**, **since.hours**, **since.days**, **since.months** and **since.years**。

You can customise the output using the following messages: **since.seconds**, **since.minutes**, **since.hours**, **since.days**, **since.months** and **since.years**.  

 

since方法

h3. <a>since(condition)</a>

 

将日期格式化为和现在相比的相对时间,如果condition是true,并且日期大于1个月的话将被格式化为一个时间,返回String。

Formats the date as a relative time, compared to now. If the condition is true, dates more than one month ago are formatted as a date. Returns: **String**.

 

你可以使用和since方法相同的消息自定义输出,除此之外,还可以为大于1个月前的日期使用since.format方法。

You can customise the output using the same messages as for **since()**, as well as **since.format** for dates more than one month ago.  

 

bc. ${new Date(1262350000000).since(false)}

5 months ago

 

${new Date(1262350000000).since(true)}

Jan 1, 2010

 

Long类型的扩展

h2. <a>Long extensions</a>

 

asdate方法

h3. <a>asdate(format)</a>

 

将时间戳格式化为一个日期,返回String-一个格式化的日期。

Formats a time stamp as a date. Returns: **String** - a formatted date.

 

bc. ${1275910970000.asdate('dd MMMM yyyy hh🇲🇲ss')}

07 June 2010 01:42:50

 

asdate方法

h3. <a>asdate(format, language)</a>

 

使用所给的语言,将时间戳格式化为一个日期,返回String-格式化的日期,

Formats a time stamp as a date, in the given language. Returns: **String** - a formatted date.

 

bc. ${1275910970000.asdate('dd MMMM yyyy hh🇲🇲ss', 'fr')}

07 juin 2010 01:42:50

 

formatSize方法

h3. <a>formatSize()</a>

 

将一个数字格式化为文件的大小,包括单位,

Formats a number of bytes as a file size, with units.

 

bc. ${726016L.formatSize()}

709KB

 

Map扩展

h2. <a>Map extensions</a>

 

asAttr

h3. <a>asAttr()</a>

 

将map的key和value格式化为HTML属性,返回play.templates.Template.ExecutableTemplate.RawData。

Formats the map’s keys and values as HTML attributes. Returns: **play.templates.Template.ExecutableTemplate.RawData**.

 

bc. ${[id:'42', color:'red'].asAttr()}

id="42" color="red" 

 

asAttr方法

h3. <a>asAttr(condition)</a>

 

Formats the map’s keys and values as HTML attributes, if the condition is true. Returns: **play.templates.Template.ExecutableTemplate.RawData**.

 

bc. ${[id:'42', color:'red'].asAttr(true)}

id="42" color="red" 

 

数值扩展

h2. <a>Number extensions</a>

 

divisibleBy方法

h3. <a>divisibleBy(divisor)</a>

 

如果数字可以被所给的数字整除的话返回true,返回Boolean。

Returns true if the number is divisible by the given number - the divisor. Returns: **boolean**.

 

bc. ${42.divisibleBy(7)}

true

 

format方法

h3. <a>format(format)</a>

 

使用所给的数字格式模式格式化所给的数字,返回String。

Formats the number using the given number format pattern. Returns: **String**.

 

bc. ${42.format('000.00')}

042.00

 

 

格式化货币

h3. <a>formatCurrency(currencyCode)</a>

 

使用所给的货币单位将数字格式化为货币,例如EUR,返回String。

Formats the number as a currency for the given currency code, e.g. **EUR**. Returns: **String**.

 

bc. ${42.formatCurrency('EUR').raw()}

&euro; 42.00

 

page方法

h3. <a>page(pageSize)</a>

 

用给定的页大小,返回页码,将数字解释为索引,返回Integer。

Returns the page number, for the given page size, from interpreting the number as an index. Returns: **Integer**.

 

bc. ${42.page(10)}

5

 

pluralize

h3. <a>pluralize()</a>

 

如果数字不是1的话,返回一个‘s’,返回String。

Returns an ‘s’ when the number is not 1. Returns: **String**.

 

bc. colour${['red', 'green', 'blue'].pluralize()} - colour${3.pluralize()} 

colours - colours

 

(跟上面貌似一样,也很容易看懂,就不翻译了。)

h3. <a>pluralize(plural)</a>

 

Returns the given plural when the number is not 1. Returns: **String**.

 

bc. box${3.pluralize('es')}

boxes

 

h3. <a>pluralize(singular, plural)</a>

 

Returns the given plural form when the number is not 1; returns the given singular form when it is 1. Returns: **String**.

 

bc. journ${1.pluralize('al', 'aux')}

journal

 

journ${3.pluralize('al', 'aux')}

journaux

 

对象扩展

h2. <a>Object extensions</a>

 

addSlashes

h3. <a>addSlashes()</a>

 

将单引号和双引号转义。返回String。

Backslash-escapes Java-escaped single and double quotes in the object’s **String** representation. Returns: **String**.

 

bc. ${"single quote (') double quote (\")".addSlashes().raw()}

single quote (\\') double quote (\\\")

 

capAll方法

h3. <a>capAll()</a>

 

将String中的每个单词的首字母大写。返回String。

Capitalises every word in the object’s **String** representation. Returns: **String**.

 

bc. ${"lorum ipsum dolor".capAll()}

Lorum Ipsum Dolor

 

capFirst方法

h3. <a>capFirst()</a>

 

将String中第一个单词的首字母大写。返回String。

Capitalises the first word in the object’s **String** representation. Returns: **String**.

 

bc. ${"lorum ipsum dolor".capFirst()}

Lorum ipsum dolor

 

cut方法

h3. <a>cut(substring)</a>

 

移除String中给定的字符串,返回String。

Removes occurrences of the given sub-string. Returns: **String**.

 

bc. ${"lorum ipsum dolor".cut('um')}

lor ips dolor

 

escape方法

h3. <a>escape()</a>

 

过滤String中的HTML字符,返回String。

Escapes reserved HTML characters in the object’s **String** representation. Returns: **String**.

 

bc. ${"The <blink>tag</blink> is evil".escape().raw()}

The &lt;blink&gt;tag&lt;/blink&gt; is evil

 

nl2br方法

h3. <a>nl2br()</a>

 

将‘\n‘字符替换为HTML中的br标签。返回String。

Replaces new-line characters with HTML **br** tags. Returns: **String**.

 

bc. ${"one\ntwo".nl2br()}

one<br/>two

 

raw方法

h3. <a>raw()</a>

 

返回不被模板过滤的对象,返回play.templates.Template.ExecutableTemplate.RawData。

Returns the object without template escaping. Returns: **play.templates.Template.ExecutableTemplate.RawData**.

 

bc. ${'<'}

&lt;

 

${'<'.raw()}

<

 

raw方法

h3. <a>raw(condition)</a>

如果condition为true,返回不被模板过滤掉的对象,返回play.templates.Template.ExecutableTemplate.RawData。

Returns the object without template escaping, if the condition is true. Returns: **play.templates.Template.ExecutableTemplate.RawData**.

 

bc. ${'<'.raw(true)}

<

 

yesno方法

h3. <a>yesNo('yes', 'no')</a>

 

如果给定的对象的值为true,则返回第一个参数’true‘,否则返回第二个参数'no'。返回String。

Returns the first parameter (‘yes’) if the object evaluates to true, or the second parameter (‘no’) otherwise. Returns: **String**.

 

bc. ${"".yesno('yes', 'no')}

no

 

${"not empty".yesno('yes', 'no')}

yes

 

字符串扩展

h2. <a>String extensions</a>

 

asXml方法

h3. <a>asXml()</a>

 

解析给定的XML字符串,返回groovy.util.slurpersupport.GPathResult。

Parses the given XML string. Returns: **groovy.util.slurpersupport.GPathResult**.

 

驼峰表示法

h3. <a>camelCase()</a>

 

将String格式化为驼峰式表示法,用于Java的类名,返回String。

Formats the string in camel case, as if for a Java class name. Returns: **String**.

 

bc. ${"lorum ipsum dolor".camelCase()}

LorumIpsumDolor

 

capitalizeWords方法

h3. <a>capitalizeWords()</a>

 

将字符串中的每个单词的首字母大写,返回String。

Capitalises every word in the string. Returns: **String**.

 

bc. ${"lorum ipsum dolor".capitalizeWords()}

Lorum Ipsum Dolor

 

escapeHtml方法

h3. <a>escapeHtml()</a>

 

过滤HTML字符。返回String。

Escapes reserved HTML characters. Returns: **String**.

 

bc. ${"The <blink>tag</blink> is evil".escape().raw()}

The &lt;blink&gt;tag&lt;/blink&gt; is evil

 

escapeJavaScript方法

h3. <a>escapeJavaScript()</a>

 

过滤Javascript字符,返回String.

Escapes reserved JavaScript characters. Returns: **String**.

 

bc. ${"single quote (') double quote (\")".escapeJavaScript().raw()}

single quote (\') double quote (\")

 

escapeXml

h3. <a>escapeXml()</a>

过滤XML字符,返回String。

Escapes reserved XML characters. Returns: **String**.

 

bc. ${"<>\"&".escape().raw()}

&lt;&gt;&quot;&amp;

 

last方法

h3. <a>last()</a>

 

返回list中的最后一个元素,返回Object。

Returns the last item in the list. Returns: **Object**.

 

bc. ${['red', 'green', 'blue'].last()}

blue

 

noAccents

h3. <a>noAccents()</a>

从String中除去音调。返回String。

Removes accents from the letters in the string. Returns: **String**.

 

bc. ${"Stéphane Épardaud".noAccents()}

Stephane Epardaud

 

pad方法

h3. <a>pad(length)</a>

 

在给定的字符后面增加所给length的&nbsp,返回String。

Pads the string with **&nbsp;** up to the given length. Returns: **String**.

 

bc. ${"x".pad(4).raw()}

x&nbsp;&nbsp;&nbsp;

 

h3. <a>slugify()</a>

 

将字符串格式化以便在URL中使用,返回String。

Formats the string as a ‘slug’ for use in URLs, that avoids reserved URL path characters. Returns: **String**.

 

bc. ${"The Play! framework’s manual".slugify()}

the-play-framework-s-manual

 

urlEncode方法

h3. <a>urlEncode()</a>

 

将URL中的字符串序列编码为URL格式的,返回String。

Escapes reserved URL query string characters. Returns: **String**.

 

bc. ${"!@#\$%^&()".urlEncode()}

%21%40%23%24%25%5E%26%28%29

 

String 数组扩展

h2. <a>String array extensions</a>

 

add方法

h3. <a>add(value)</a>

 

在数组最后增加一个值,返回String。

Adds value to the end of the array. Returns: **String[]**.

 

bc. ${(["red", "green", "blue"] as String[]).add('pink').join(' ')}

red green blue pink

 

contains方法

h3. <a>contains(string)</a>

 

如果数组中包含所给的字符串,返回true,返回Boolean。

Returns true if the array contains the given string. Returns: **boolean**.

 

bc. ${(['red', 'green', 'blue'] as String[]).contains('green')}

true

 

remove方法

h3. <a>remove(string)</a>

 

返回已移除给定的元素的数组,返回String[]

Returns the array, with the given string removed. Returns: **String[]**.

bc. ${(['red', 'green', 'blue'] as String[]).remove('green').join(' ')}

red blue

 

 

加载中
0
张林
张林

呵呵看了好几篇楼主翻译的文章了,翻印很到位,继续努力,大家支持你

0
返回顶部
顶部