seam里面的各个button按钮的解说

(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。在这种情况下,动作会被调用,并马上重定向到指定的已发生的视图 。 

 

你可能感兴趣的:(JavaScript,cms,XHTML,JSF,seam)