前言
这个HTML标签是和JSF标签搭配使用
No | 标签 | 描述 | 属性 | 使用例子 |
---|---|---|---|---|
1 | <s:button> | 通过控制对话传输风格,支持动作调用的按钮,不提交表单 | value:值 action:指定方法调用 view:链接的JSF的viewID disabled:链接处于取消状态 propagation:确定对话传输风格:begin、join、rest、none、end |
<s:button id ="id" value="cancel" action="#{hotelBooking.canel}"/> |
2 | <s:cache> | 利用JBoss的Cache缓存封装过的页面片段。 |
key:缓存内容的键值 enabled:决定是否使用缓存 region:Jboss节点(不同节点有不同的过期策略) |
<s:cache key="entry-#{bgEntry.id}" region="pageFragments"> <div class="bgEntry"> <h3>#{bgEntry.title}</h3> <div> <s:fomattedText value="#{bgEntry.tody}"/> </div> <p> <h:outputText value="#{bgEntry.date}"> <f:convertDateTime timezone="#{bgEntry.time}" locale="#{bgEntry.locale}" type="both"> </h:outputText> </p> </div> </s:cache> |
3 | <s:converstaionId> | 将对话id添加到一个输出链接,只用于facelets | ||
4 | <s:conversationPropagation> | 给一个连接或者按钮命令定制对话传输风格,只用于facelets | propagation:确定对话传输风格:begin、join、rest、none、end pageflow:起始的页面流定义 |
<h:commandButton value="apply" action="#{personHome.update}"> <s:conversationPropagation type="join"/> </h:commandButton> |
5 | <s:convertDateTime> | 在seam的timezore中执行日期或时间对话 | <h:outputText value="#{time}"> <s:convertDateTime type="both" dataStyle="full"/> </h:outputText> |
|
6 | <s:convertEntity> | 给当前的组件分配一个实体转换器。主要用于单选按钮和下拉控件有效。 转换器使用任何具有@Id注解(简单的或者复合的)受控实体。 必须通过<s:convertEntity/>使用的seam管理的事务。 如果受控持久化上下文不是被称作entityManage的,就需要components.xml配置 <component name="org.jboss.seam.ui.converter.EntityConverter"> <property name="entityManager">#{em}</property> </component> <h:selectOneMenu value="#{person.continent}"> <s:selectItems value="#{continent.resultList}" var="continent" label="{continent.name}"/> <f:converter converterId="myEntityConverter"/> </h:selectOneMenu> |
<h:selectOneMenu value="#{person.continent}" required="true"> <s:selectItems value="{continent.resultList}" var="continent" label="{continent.name}" noSelectionLabel="please select"/> </h:selectOneMenu> |
|
7 | <s:convertEnum> | 给当前的组件分配一个enum转换器,主要对单选按钮和下拉控件有效 | <h:selectOneMenu value="#{person.continent}" > <s:selectItems value="{continent.resultList}" var="continent" label="{continent.name}" noSelectionLabel="please select"/> <s:convertEnum /> </h:selectOneMenu> |
|
8 | <s:decorate> | 在验证失败或者设置了required="true"时,修饰一个JSF输入框 | templae:用来装饰组件的facelets模板 | <s:decorate template="edit.xhtml"> <ui:define name="label">Country</ui:define> <h:inputText value="#{location.country}" required="true"/> </s:decorate> <ui:compostion xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/com" xmlns:s="http://jboss.com/products/seam/taglib"> <div> <s:label styleClass="#{invalid?'error':''}"> <ui:insert name="label"/> <s:span StyleClass="required" renidered="#{required}>">#</s:span> </s:label> <span class="#{invalid?'error':''}"> <s:validateAll> <ui:insert /> </s:validateAll> </span> </div> </ui:compostion> |
9 | <s:div> | 封装一个HTML的<div> | <s:div rendered="#{selectedMember=null}"> sorry,but this member doesnot exist </s:div> |
|
10 | <s:enimItem> | 从一个enum值中创建一个selectItem | enumValue:enum值的字符串表达式 label:封装selectItem时要使用的标签 |
<h:selectOneRadio id="radioList" layout="lineDirection" value="#{newPayment.paymentFrequency}"> <s:comertEnum/> <s:enumItem enumValue="ONCE" label="Only Once"/> <s:enumItem enumValue="EVERY" label="Every Once"/> </h:selectOneRadio> |
11 | <s:fileUpload> | 封装上传文件控件。 这个控件必须使用form标签,编码类型是multipart/form-data <h:form enctype="multipart/form-data"> 对于多部分请求,必须在web.xml配置seam multipart servlet过滤器 <filter> <filter-name>Seam Filter</filter-name> <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class> 下列多部分请求的配置选项可以在components.xml进行配置: 1.createTempFiles:如果这个选择设置为true,上传完的文件就流向一个临时文件,而不是流向内存。 2.maxRequestSize:允许上传文件的最大字节数 <component class="org.jboss.seam.web.MultipartFilter"> <property name="createTempFiles">true</property> |
data — 绑定接收二进制文件数据。 接收域应该声明为一个byte[] 或者 InputStream (必要)。 contentType — 绑定接收文件的内容类型(可选)。 fileName — 绑定接收的文件名(可选)。 fileSize — 绑定接收的文件大小(可选)。 accept — 可以接受的一个以逗号分隔的内容类型列表,可能浏览器不支持。 例如 "images/png,images/jpg"、"images/"。 style — 控件的样式,即CSS之类的 styleClass — 控件的样式类 |
<s:fileUpload id="picture" data="#{register.picture}" accept="image/png" contentType="#{register.pictureContentType}" /> |
12 | <s:formattedText> | 输出seamText,一种富文本标记。对于blog,wiki和其他可能使用富文本的应用程序才有用 | value:指定要封装的富文本标记的EL表达式 | <s:formattedText value="#{blog.text}"/> |
13 | <s:validateFormattedText> | 验证提交是否符合seam text | ||
14 | <s:fragment> | 一个来封装的组件,用于启用/取消它的子组件的封装 | <s:fragment value="#{blog.text}"/> | |
15 | <s:graphicImage> | 一个允许在Seam Compoent中创建图片的扩展<h:graphicImage>,以上图片进行转换 | value:要显示的图片,可以是一个路径String,byte[] java.File,java.io.InputStream或者java.net.URL.目前支持的图片格式有image/png,image/jpeg,image/gif flename:如果没有设定,系统会自己创建一个通用文件名。如果设定,文件名要保证唯一性。 为了给图片应用一种转换。需要镶嵌一个指定应用的转换标签。 <s:transformImageSize> -width:图片的新宽度 -height:图片的新高度 -maintainRatio:如果为true,并且指定其中一个为width/height,图片将利用不确定,正确计算用来维持纵横的尺寸调整大小。 <s:transformImageBlur> radius:利用指定的半径执行一个渐变模糊操作 <s:transformImageType> contentType:将图片的类型转换成image/jpeg或者image/png |
<s:graphicImage rendered="#{action.image ne null}" value="#{action.image.data}"> <s:transformImageSize width="200" maintainRatlo="true"> </s:graphicImage> |
16 | <s:link> | 通过控制对话框传输风格,支持动作调用的链接,不提交表单 | value:标签 action:指定动作监听的方法绑定 view:链接的JSF viewID fragment:链接fragment辨识符 disabled:链接是否取消 propagation:确定对话传输风格:begin、join、nest、none、end pageflow:其实的页面流定义 |
<s:link id="resister" view="/register.xhtml" value="register new user"/> |
17 | <s:message> | 修饰一个包含验证出错消息的JSF输入域 | <f:facet name="afterInvaidField> <s:span>  ,Error.   <s:message/> </s:span> </f:facet> |
|
18 | <s:label> | 修饰一个包含标签的JSF输入域。这个标签在HTML<label>标签内部,并且与最近的JSF输入组件关联。 | style:控件的样式 styleClass:控件的样式类 |
<s:label styleClass="label"> country; </s:label? <h:inputText value="#{location.country}" required="true" /> |
19 | <s:remote> | 用seam remoting 生成所需要的的JavaScript | <s:remote include="customerAction,accountAction,com.acme.MyBean"/> | |
20 | <s:selectDate> | 日期选择器组件 日期选择器必须要CSS定义样式 seam-date :用于包含弹出日历的外传div。用于控制日历内部布局的table seam-date-header:用于日历的头表行<tr>和头表单元<td> seam-date-herader-prevMonth:用于“前一个月”表单元<td>。点击它,会显示当前月的前一个月。 |
for:日期选择器要选择的日期插入到其中的输入域的id dateFormat:日期格式的字符串。这个应该与输入域的日期格式匹配 startYear:弹出年选择器范围将从这一年开始 endYear:弹出年选择器范围将在这一年结束 firstDayOfWeek:控制那一天是一周的第一天 |
<div class="row"> <h:outputLabel for="dob">Date of birth<em>*</em></h:outputLabel> <h:inputText id="dob" value="#{user.dob}" required="true"> <s:convertDateTime pattern="MM/dd/yyyy"> </h:inputText> <s:selectDate for="dob" startYear="1910" endYear="2007"> <img src="img/datepicker.png"/> </s:selectDate> <div class="validationError"><h:message for="dob" /> </div> |
21 | <s:selectItems> | 从一个List、Set、DataModel或者Array中创建一个List<SelectItem> | value:一个EL表达式,指定支持<selectItem>的数据 var:一个定义迭代期间保存当前对象的本地变量的名称 label:封装selectItem时要使用的标签,可以参考var变量 disabled:selectItem是否取消封装 noSelectLabel:指定(可选)标签放到列表的顶部 hideNoSelectionLabel:noSelectLabel是否隐藏 |
<h:selectOneMenu value="#{person.age}" converter="#{converters.ageConverter}"> <s:selctItem value="#{args}" var ="age" label="#{age}" /> </h:selectOneMenu> |
22 | <s:validate> | 一个非可视化的控件 | <h:inputText id="userName" required="true" value="#{Customer.userName}"> <s:validate /> </h:inputText> <h:message for="userName" styleClass="error"/> |
|
23 | <s:validateAll> | 一个非可视化的控件 | <s:validateAll> <div class="entry"> <h:outputLabel for="userName">Username</h:outputLabel> <h:inputText id="userName" required="true" value="#{Customer.userName}"/> <h:message for="userName" styleClass="error"/> </div> <div class="entry"> <h:outputLabel for="password">Password</h:outputLabel> <h:inputText id="password" required="true" value="#{Customer.password}"/> <h:message for="password" styleClass="error"/> </div> </s:validateAll> |