(1) <a:commandButton>和<h:commandButton>这个都需要form表单才能触发的事件。
(2) <s:button>不需要form表单就可以触发事件。它主要是用来view功能的,很少用它来调用后台方法的。
(3) commandButton有这样的用法:当点击它后然后会看到什么样的效果用reRender来“重绘”下,即刷新。
<h:commandButton value="Create" action="#{templateBean.CreateDirectory()}">
<a:support event="onclick" reRender="scanTree" />
</h:commandButton>
(4)<a:commandButton value="Save" action="#{webSiteTemplate.saveFile}" oncomplete="JavaScript:if(confirm('Are you sure to save it?')){return true;}else{return false;}" />
这里要说下a:commandButton它如果想要在其后面有JS的事件必须是这样写:oncomplete事件里面写,而不是onclick事件里面,否则它不会去执行action里面的方法的。其实我这里的说法是错误的,经过我的反复试验,结果证明:
如果用oncomplete的话,不管你点不点"确认"或者"取消",它都会去执行action里面的代码。但是如果用onclick的话,应该是这样来用的:
<a:commandButton value="Save" onclick="JavaScript:if(confirm('Are you sure to save it?')){}else{return false;}" action="#{webSiteTemplate.saveFile}" reRender="fileText" />
那个{}里面什么都不写的,如果写了return true; 的话,就不会去执行action里面的方法了。
(5)我们cms中平常的delete功能代码是用s:link和上面的(4)一定要比较下:
<s:link view="/siteadmin/SiteList.xhtml"
value="Delete"
id="siteDelete"
propagation="end"
action="#{siteHome.remove}" onclick="JavaScript:if(confirm('Are your sure to delete it?')){return true;}else{return false;}">
<f:param name="siteId" value="#{_site.id}"/>
</s:link>
这里就是平常的那种有{return true;}else{return false;}的情况。
(6)按钮s:button的解说:
一个按钮,通过它支持一个具有控制对话传播的动作的调用。不提交表单。
属性
value — 标签。
action — 一个绑定了指定的动作侦听器的方法。
view — 链接到的JSF视图id。
fragment — 链接到的片段标识符。
disabled — 链接是禁用状态吗?
propagation — 判断对话传播样式:begin, join, nest, none 或 end。
pageflow — 开始一个页面流定义。(当使用propagation="begin"或 propagation="join"时才有用)。
用法
<s:button id="cancel" value="Cancel" action="#{hotelBooking.cancel}"/>
你可以在<s: button />内指定view和action。在这种情况下,动作会被调用,并马上重定向到指定的已发生的视图 。
动作侦听器(包括默认的JSF动作侦听器)的用法不支持<s:button />。
<s:link>
描述
一个链接,通过它支持一个具有控制对话传播的动作的调用。不提交表单。
动作侦听器(包括默认的JSF动作侦听器)的用法不支持<s:link />。
属性
value — 标签。
action — 一个绑定了指定的动作侦听器的方法。
view — 链接到的JSF视图id。
fragment — 链接到的片段标识符。
disabled — 链接是禁用状态吗?
propagation — 决定对话传播样式:begin, join, nest, none 或 end。
pageflow — 开始一个页面流定义。(当使用propagation="begin"或 propagation="join"时才有用。)
用法
<s:link id="register" view="/register.xhtml" value="Register New User"/>
你可以在<s:link />内指定view和action。在这种情况下,动作会被调用,并马上重定向到指定的已发生的视图 。
分享到:
相关推荐
“Seam_2.0_Reference_zh_CN”中文参考手册是学习Seam的重要资料,涵盖了Seam的各个方面,包括安装、配置、组件使用、事件处理、安全控制等,对于初学者和进阶开发者都极具价值。结合实际项目实践,将理论知识与实践...
这是一本由Dan Allen和Davin Bunk编写的专业书籍,详细介绍了Seam框架的各个方面。这本书适合已经有一定Java EE基础,并希望掌握Seam框架的开发者。书中的内容涵盖了以下关键知识点: 1. **Seam架构**:理解Seam...
Seam为所有的业务逻辑提供了一个统一的组件模型,这种统一不仅覆盖了Web应用的各个层次,而且还简化了数据在不同层次间的传输过程。这种统一性极大地减轻了开发者的负担。 ##### 2. POJO和EJB 尽管Seam与EJB 3.0...
总的来说,《Seam in Action》这本书不仅详细介绍了Seam框架的各个方面,而且提供了大量的实例和实践指导,对于希望提升Java EE开发技能的开发者来说,是一本不可或缺的参考书籍。配合提供的"seam+in+action.pdf"和...
### Seam2.0 GA 中文开发指南 #### JBoss Seam简介 JBoss Seam是一个高度集成的应用框架,旨在简化企业级Java应用的开发过程。Seam2.0版本提供了丰富的功能来支持面向组件的编程模式,并且它紧密集成了JavaServer ...
**Seam Carving 技术详解** Seam Carving,又称图像拉链,是一种基于能量最小化的图像调整方法,主要用于图像大小的动态调整,而不仅仅是简单的等比例缩放。它能够在保持图像主要结构不变的情况下,根据需要增加或...
SeamTest提供了一种结构化的、声明式的测试方法,帮助开发者更有效地验证应用程序的各个层面,包括组件、服务以及用户界面。本文将围绕SeamTest的关键特性和使用方法进行详细探讨。 首先,SeamTest的核心在于它与...
这份文档全面介绍了Seam 2.0的各个方面,是学习和使用Seam的重要参考资料。 四、下载说明与资源 `下载说明.html`可能包含了获取和安装Seam 2.0的步骤,以及如何配置开发环境的指导。这通常包括设置IDE集成、添加库...
"为Seam做好准备"这个标题暗示我们即将探讨的是关于Seam框架的入门与准备工作。Seam是一个Java EE集成框架,它将JavaServer Faces(JSF)、Java Persistence API(JPA)、Enterprise JavaBeans(EJB)3.0以及其他...
Seam Security是针对Java Web应用程序的安全框架,它是JBoss Seam项目的一部分,提供了全面的安全解决方案,包括身份验证、授权和身份管理等功能。Seam Security以易于配置和使用为特点,允许开发者快速设置应用程序...
根据提供的信息,我们可以推断出这是一本关于 Seam 框架的专业书籍,书名为《Seam in Action》,作者为 Dan Allen 和 Manning 出版社出版。本书主要讲解了 Seam 框架在 Java EE 3 环境中的应用与开发实践。接下来将...
### Seam参考手册中文版知识点概览 #### 一、Seam简介及基本概念 ##### JBoss Seam概述 - **Seam**是JBoss家族中的一员,它是一个建立于Java EE平台之上的开源框架,旨在简化企业级应用的开发过程。 - **版本**: ...
### JBoss Seam中文版知识点详解 #### JBoss Seam简介 JBoss Seam是一个强大的企业级应用开发框架,基于Java EE标准,特别强调简化Web应用的开发流程。它通过整合多种技术如JSF、EJB 3.0等,提供了一种更为高效、...
### SEAM 中文开发指南知识点概述 #### 一、SEAM 框架简介 - **SEAM**:SEAM 是一个基于 Java EE 的企业级应用框架,它简化了复杂的应用程序开发过程,并且提供了丰富的功能来支持业务逻辑的实现。 - **版本信息**...
MATLAB_Seam_Carving_seamcarving_ 是一个与图像处理相关的项目,主要涉及到一种称为“seam carving”的技术,这是一种动态图像调整大小的方法,它可以在不改变图像整体视觉效果的情况下,增加或减少图像的宽度和...
中文版的Seam_2.0_Reference_zh_CN.pdf为开发者提供了详细的框架功能和用法,覆盖了组件、事件处理、安全、国际化等各个方面,是学习和理解Seam不可或缺的资源。 **2. RichFaces** RichFaces 是一套基于JSF的组件...
Seam是一个Java EE框架,它将JavaServer Faces(JSF)、Java Persistence API(JPA)、Inversion of Control(IoC)和Enterprise JavaBeans(EJB)等技术融合在一起,为开发复杂的Web应用程序提供了便利。在Seam框架...
Seam是一种Java EE框架,它在开发企业级应用程序时提供了高度集成和语境相关的组件模型。这个框架的主要目标是简化复杂性,使开发者能够更高效地构建动态、响应式的Web应用。Seam的核心理念是将不同的技术,如Java...
Seam框架是一个全面的Java企业级应用开发框架,它整合了JSF(JavaServer Faces)、EJB、CDI(Contexts and Dependency Injection)以及许多其他Java EE技术,为开发者提供了强大的组件模型和丰富的功能,旨在简化...
Seam Carving是一种图像内容感知的尺寸调整方法,它能够在保持图像主要结构不变的情况下,智能地减少或增加图像的宽度和高度。这种方法是由Amit Agarwal和Matthieu Salzmann于2007年提出的,其核心思想是通过找到...