seam标签

前言

这个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>
</filter>
<filter-mapping>
<filter-name>Seam Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

下列多部分请求的配置选项可以在components.xml进行配置:

1.createTempFiles:如果这个选择设置为true,上传完的文件就流向一个临时文件,而不是流向内存。

2.maxRequestSize:允许上传文件的最大字节数

<component class="org.jboss.seam.web.MultipartFilter">

  <property name="createTempFiles">true</property>
<property name="maxRequestSize">1000000</property>
</component>

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>

    &#160,Error. &#160

  <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>

猜你喜欢

转载自blog.csdn.net/qq_41520636/article/details/113790322