1、10WebWork UI标签WebWork UI标签一、UI标签概述1、UI组件的组成 WebWork是不绑定视图技术的框架,可以使用JSP、Velocity、FreeMarker或者其他支持的方法来编写用户界面。默认情况下,WebWork仅支持JSP标签的方法来调用UI标签。 WebWork UI标签可以用任何模板语言编写。 Template一个Template就是一个使用Velocity、JSP或者FreeMarker编写的文件,用来生成HTML标记。 Theme一个theme就是一套组合在一起的模板,形成一套公用的感观。 Tag一个tag就是一个JSP标签,用来读取属性并利用属性输出模板
2、。2、themes Theme定义了布局和风格。WebWork内置的theme:xhtml、simple、css_xhtml等。任何一个都可以扩展或复制以制作你的个性化的theme。二、UI标签通用属性1、通用属性属性Theme数据类型描述namesimpleString表单元素映射的名字valuesimpleObject表单元素的值labelXHTMLStringXHTML theme中使用的label,simple theme会忽略labelpositionXHTMLStringlabel元素的位置,top位于元素的上部,left位于元素的左边requiredXHTMLBoolean如果为
3、true,一个星号会显示在label的右边,表明这个字段是必填的,在默认情况下,如果一个字段级的校验器被映射到这个字段名,该值就为trueidsimpleStringHTML id 属性,允许简单地和JavaScript集成cssClasssimpleString表单元素的class属性cssStylesimpleString表单元素的style属性disabledsimpleBoolean表单元素的disabled属性tabindexsimpleString表单元素的tabindex属性themeN/AString模板要在哪个theme里查找,默认情况下,如果不是在webwork.prope
4、rties里指定的theme,就是XHTMLtemplateN/AString用来输出UI标签的模板,所有UI标签都有一个默认的模板(除component标签),但模板可以被重新设置2、id属性 除了form标签之外,所有的 UI标签都有一个id属性的默认值。一般建议设置该属性,理由如下: 第一点:它让表单的label更紧密地与你的表单结合在一起,因为它指定了for属性。 第二点:可以和JavaScript集成。 如果不指定,默认的值就是formName_elementName。三、简单标签1、form标签 功能:担当容器的角色。 属性: actionString要提交到action的名字 n
5、amespaceStringaction的命名空间,默认的命名空间取决于当前的request methodStringPOST或GET targetStringform提交的目标窗口。一般是框架名、_blank、_top或者任何其他指定的target值 enctype进行文件上传时设置为multipart/form-data openTemplate默认映射到form.vm validate用来进行客户端校验 默认情况下,name属性的值就是要提交的action的名字。2、textfield标签 功能:文本输入属性: maxlengthString可以输入的最大长度 readonlyBoole
6、an设置为true时,用户不能输入 sizeString可视尺寸3、password标签 功能:与textfield类似,但默认时值不会显示属性: maxlengthString可以输入的最大长度 readonlyBoolean设置为true时,用户不能输入 sizeString可视尺寸 showBoolean默认为false,设置为true时,password字段会被预置4、textarea标签 功能:用来输入大数量文本。 属性: colsString文本区域的列数 rowsString文本区域的行数 readonlyBoolean设置为true时,用户不能输入 wrapString指定文本
7、区域的内容是否应该换行5、checkbox标签 功能:复选框 属性: fieldValueString复选框选中时提交给action的值 范例: index.jsp Index Page CheckBox Example: CheckboxAction.javapackage com.example;import com.opensymphony.xwork.ActionSupport;import com.opensymphony.xwork.Preparable;public class CheckboxAction extends ActionSupport implements Pre
8、parable private boolean flag = false; private String message; public boolean getFlag() return flag; public void setFlag(boolean flag) this.flag = flag; public String getMessage() return message; public void prepare() public String execute() throws Exception if(flag) message = You have selected the c
9、heckbox!; else message = You have not selected!; return SUCCESS; res.jsp Index Page CheckBox Example: 四、基于集合的标签1、select标签 功能:选项框 属性: listCollection、Map、Array或Iterator表达式,用来对用户要选择的选项列表求值。 listKeyString列表的key的表达式,默认为key listValueString列表的value的表达式,默认为value headerKeyString如果用户选择了header选项,用来提交的值 headerV
10、alueString用户看到的header选项的内容 emptyOptionBoolean设置为true时,一个空的选项会放在header选项和从列表中取出的选项之间 multipleBoolean设置为true时,允许用户选择多个值 sizeString指定列表框的大小 范例1:范例2:index.jsp Index Page InitSelectAction.javapackage com.example;import com.opensymphony.xwork.ActionSupport;import com.opensymphony.xwork.Preparable;import j
11、ava.util.*;public class InitSelectAction extends ActionSupport implements Preparable private DirectoryDAO directoryDAO; private List directoryList; private Map directoryMap; public void setDirectoryDAO(DirectoryDAO directoryDAO) this.directoryDAO = directoryDAO; public List getDirectoryList() return
12、 directoryList; public Map getDirectoryMap() return directoryMap; public void prepare() directoryList = directoryDAO.getAllDirectory(); directoryMap = directoryDAO.getAllMapdirectory(); public String execute() throws Exception return SUCCESS; select.jsp Index Page Select Example: 范例3:index.jsp Index
13、 Page MulSelect Example: MulSelectAction.javapackage com.example;import com.opensymphony.xwork.ActionSupport;import java.util.*;public class MulSelectAction extends ActionSupport private List city = new ArrayList(); private List book = new ArrayList(); public void setCity(List city) this.city = city
14、; public void setBook(List book) this.book = book; public List getCity() return city; public List getBook() return book; public String execute() throws Exception return SUCCESS; public void validate() if(city.size()=0) addFieldError(city,Please select citys!); if(book.size()=0) addFieldError(book,Pl
15、ease select books!); res.jsp Res Page MulSelect Example: City: Book: 2、radio标签 功能:单选按钮 属性: listCollection、Map、Array或Iterator表达式,用来对用户要选择的选项列表求值。 listKeyString列表的key的表达式,默认为key listValueString列表的value的表达式,默认为value 范例:3、checkboxlist标签 功能:多选标签 属性: listCollection、Map、Array或Iterator表达式,用来对用户要选择的选项列表求值。 l
16、istKeyString列表的key的表达式,默认为key listValueString列表的value的表达式,默认为value 范例:index.jsp Index Page Checkboxlist Example: CheckboxlistAction.javapackage com.example;import com.opensymphony.xwork.ActionSupport;import java.util.*;public class CheckboxlistAction extends ActionSupport private List city = new Arr
17、ayList(); private List book = new ArrayList(); public void setCity(List city) this.city = city; public void setBook(List book) this.book = book; public List getCity() return city; public List getBook() return book; public String execute() throws Exception return SUCCESS; public void validate() if(ci
18、ty.size()=0) addFieldError(city,Please select citys!); if(book.size()=0) addFieldError(book,Please select books!); Res.jsp Res Page Checkboxlist Example: City: Book: 五、高级标签1、label标签 功能:在表单中显示只读的参数。 属性: labellabel输出的标题,即在XHTML中输出到左边或上边的内容 范例:index.jsp Index Page Label and Hidden Example: LabelAction.javapackage com.example;import com.opensymphony.xwork.ActionSupport;public class LabelAction extends ActionSupport privat
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1