第17章. Seam文本
面向协作站点需要一种更有友好的标记语言,容易输入在论坛帖子、 wiki页面、博客和评论等中的格式化文本。Seam提供了<s:formattedText/>控件,显示符合Seam 文本语言的格式化文本。Seam文本用基于ANTLR( ANother Tool for Language Recognition)解析器实现。然而,你不必了解任何与使用ANTLR有关的东西。
[有关ANTLR 问题请参考http://www.antlr.org/wiki/display/ANTLR3/FAQ+-+Getting+Started]
17.1. 基本格式
这里是一个简单例子:
It's easy to make *emphasis*, |monospace|,
~deleted text~, super^scripts^ or _underlines_.
如果我们使用 <s:formattedText/>显示这些, 我们会得到下面的HTML结果:
<p>
It's easy to make <i>emphasis</i>, <tt>monospace</tt>
<del>deleted text</del>, super<sup>scripts</sup> or <u>underlines</u>.
</p>
我们能使用一个空行显示一个新段,并且用+显示一个标题:
+This is a big heading
You /must/ have some text following a heading!
++This is a smaller heading
This is the first paragraph. We can split it across multiple
lines, but we must end it with a blank line.
This is the second paragraph.
(注意:一个简单的换行符被忽略,你需要一个另外的空行,裹包着文本成为一个新段落。) 这是HTML结果:
<h1>This is a big heading</h1>
<p>
You <i>must</i> have some text following a heading!
</p>
<h2>This is a smaller heading</h2>
<p>
This is the first paragraph. We can split it across multiple
lines, but we must end it with a blank line.
</p>
<p>
This is the second paragraph.
</p>
有序列表使用#字符创建。无序列表使用=字符创建:
An ordered list:
#first item
#second item
#and even the /third/ item
An unordered list:
=an item
=another item
HTML结果:
<p>
An ordered list:
</p>
<ol>
<li>first item</li>
<li>second item</li>
<li>and even the <i>third</i> item</li>
</ol>
<p>
An unordered list:
</p>
<ul>
<li>an item</li>
<li>another item</li>
</ul>
引用部分应该用双引号括起来:
The other guy said:
"Nyeah nyeah-nee
/nyeah/ nyeah!"
But what do you think he means by "nyeah-nee"?
<p>
The other guy said:
</p>
<q>Nyeah nyeah-nee
<i>nyeah</i> nyeah!</q>
<p>
But what do you think he means by <q>nyeah-nee</q>?
</p>
17.2. 输入带特殊字符的代码和文本
象*、|、 #等特殊符号,以及象<、> 、 &等HTML字符可以使用\转义:
You can write down equations like 2\*3\=6 and HTML tags
like \<body\> using the escape character: \\.
HTML结果:
<p>
You can write down equations like 2*3=6 and HTML tags
like <body> using the escape character: \.
</p>
并且我们能使用倒引号引用代码块:
My code doesn't work:
`for (int i=0; i<100; i--)
{
doSomething();
}`
Any ideas?
结果:
<p>
My code doesn't work:
</p>
<pre>for (int i=0; i<100; i--)
{
doSomething();
}</pre>
<p>
Any ideas?
</p>
注意:内置的单间隔格式总被转义(大多数单间隔格式文本实事上是带有特殊字符的代码或标签)。所以,你能编写,例子:
This is a |<tag attribute="value"/>| example.
没有转义单间隔条内部的任何字符。缺点是你不能用任何其它方法来格式化内置的单间隔文本(斜体、下划线等等)。
17.3. 链接
使用下面语法创建一个链接:
Go to the Seam website at [=>http://jboss.com/products/seam].
或者,如果想指定链接文本:
Go to [the Seam website=>http://jboss.com/products/seam].
对高级用户,甚至自定义Seam文本解析器理解使用这种语法编写的wikiword链接是可能的。
17.4. 输入HTML
文本甚至可能包括HTML的某些有限子集(不要担心,选择的子集在跨站点脚本攻击下是安全的)。这对创建链接是有用的:
You might want to link to <a href="http://jboss.com/products/seam">something cool</a>, or even include an image: <img src="/logo.jpg"/>
以及创建表:
<table>
<tr><td>First name:</td><td>Gavin</td></tr>
<tr><td>Last name:</td><td>King</td></tr>
</table>
然而,如果你想,你能做更多的事。
分享到:
相关推荐
Practical.JBoss.Seam.Projects.pdf
JBOSS.SEAM.WEB应用开发 中文版 (美)MichaelYuan.
《Apress.Beginning.JBoss.Seam.Feb.2007》是一本专注于JBoss Seam技术的入门教程,由Apress出版社在2007年2月发布。这本书旨在为初学者提供一个全面理解Seam框架的平台,帮助开发者更好地掌握Java企业级应用开发。...
《Seam in Action》一书由Dan Allen撰写,Manning Publications Co.于2008年出版,旨在深入探讨Seam框架在Java EE 3环境中的应用与实践。本书不仅覆盖了Seam的核心概念和基本原理,还详细介绍了其状态管理、业务需求...
jboss.seam.simplicity.and.power.beyond.java.ee2007
Seam框架是一个全面的Java企业级应用开发框架,它整合了JSF(JavaServer Faces)、EJB、CDI(Contexts and Dependency Injection)以及许多其他Java EE技术,为开发者提供了强大的组件模型和丰富的功能,旨在简化...
### 关于《Apress.Beginning.JBoss.Seam.Feb.2007.pdf》的知识点总结 #### 一、书籍基本信息概述 - **书名**:《Beginning JBoss Seam: From Novice to Professional》 - **作者**:Joseph Faisal Nusairat - **...
### Seam 2.x Web 开发知识点详解 #### 一、Seam 2.x 概述 Seam 2.x 是一款基于 Java 的企业级应用程序框架,由 JBoss 提供支持。它极大地简化了 Java 应用程序的开发过程,使得开发者能够更高效地构建复杂的 Web ...
Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................
- **集成性**:JBoss Seam可以很好地与其他JBoss项目(如JBoss EAP、JBoss Portlet Bridge等)以及第三方技术集成。 - **国际化支持**:内置了国际化(i18n)和本地化(l10n)的支持,使得开发多语言应用变得更加...
根据提供的文件信息,我们可以从标题、描述以及部分内容中提炼出以下关键知识点,这些知识点主要围绕JBoss Seam框架及其与Java EE的关系展开。 ### 关键知识点一:JBoss Seam框架简介 - **JBoss Seam** 是一个基于...
Seam 是一个开源的 Java 框架,主要用于简化企业级 Java 应用程序的开发,特别是与 JBoss 服务器的集成。它提供了一个统一的框架来整合多种技术,包括 JavaServer Faces (JSF)、Java Persistence API (JPA) 和 Java ...
Seam、EJB和JSF是Java开发中的三个重要框架,它们在企业级应用程序开发中发挥着关键作用。本文将详细讲解如何在Eclipse环境中创建并理解一个Seam工程的实例,结合EJB(Enterprise JavaBeans)和JSF(JavaServer ...
2007年Shai Avidan 和Ariel Shamir论文《Seam Carving for Content-Aware Image Resizing》所提出方法的Matlab代码实现和作者的论文。 效果非常炫,而且代码不长
Seam 2.X Web Development
对于Seam这样的第三方库,Maven会自动从中央仓库查找并下载。 在进行持续集成或者团队协作时,Maven的版本控制和依赖管理功能尤为关键。每个开发者都可以在本地环境中使用相同的构建流程,而不会因为库版本不一致或...
Seam 是一个强大的Java开发框架,专为JavaServer Faces (JSF) 和企业级Java (Java EE) 应用程序设计。它简化了组件集成、事务管理、安全性和其他复杂功能,使开发者能够更高效地构建应用程序。以下是对配置Seam和...
#### 第一部分:使用Seam开始之旅 **1. Seam统一了Java EE** Seam作为一个先进的Java EE应用框架,通过提供一个统一的组件架构来简化Web应用程序的开发过程。随着JBoss Seam 2.0版本的发布,它实现了对Java EE平台...
### Seam应用开发指南知识点概述 #### 1. 引言 - **Seam简介**:Seam是一个基于Java EE的应用框架,它简化了企业级应用的开发过程,尤其是在Web应用领域有着广泛的应用。Seam通过集成多种技术如JSF、EJB 3.0等,为...