Html标签: 使用struts标签实现类似数据绑定的效果,自动查找FormBean中的值 •引入Struts标签 <%@ taglib uri=Http://struts.apache.org/tags-bean prefix=”bean” %> <%@ taglib uri=Http://struts.apache.org/tags-html prefix=“html” %> <%@ taglib uri=Http://struts.apache.org/tag-logic prefix=”logic” %> •举例 <html:from action=”/Fwxx “> <html:hidden property=”operate” value=”对应的方法名“/〉 <html:text property=”condition.title “/> <html:submit styleClass=”btn” >查询</html:submit> </html:from > Html:text 标签中的name可以省略,默认获取FormBean •数据绑定下拉列表 <html:select property=”condition.shi” style="”width:60”" mce_style="”width:60”" > <html:option value=”0” >不限</html:option> <html:option value=”1”>1</html:option> <html:option value=”2”>2</html:option> </html:option> 通过preoperty和FormBean的属性进行关联 <html:select property=”condition.qxid” > <html:optionCollection name=”指定放入session的key” labelx=”要显示的字段’ value=”Id” /> </html:select> 页面中使用html:options标签,name属性表明依次在page 、request、 session、application 的范围中查找。Labelx和value属性表明对应查找的计划数据的每一个元素属性,为候选项的字面显示和候选项的值 logic标签:使用logic标签实现判读逻辑 •使用logic:notEmpty标签判断Bean值是否存在或非空 <logic:notEmpty name=”user” scope=”session” > <!— 代码 --> </logic:notEmpty> Logic:notEmpty标签两个属性的含义是:在session范围内查找,如果不为空执行标签中的的代码,如果为空,执行对应的logic:empty标签。 •使用logic:equal判断Bean值是否相等 <c:forEach items=”${list}” var=”fwxx”> <a href="’detail.do?fwid=${fwxx.fwid}" mce_href="’detail.do?fwid=${fwxx.fwid}" ‘>${fwxx.title} </a> <logic:equal name=”fwxx” property=”uid” value=”${sessionScope.user.uid}”> <a href="””" mce_href="””">编辑</a> </logic:equa> </c:forEach> Logic:equal标签用name和property属性取得自身的值,然后和value属性指定的值进行比较,value属性可以是常量,如value=“520“ ,value=”Dawn“ ,value=”<%= expr%>”;还可以是El表达式,类似的还用logic:notEqual标签 •使用logic:iterate显示列表数据:负责集合数据的循环处理 <logic:iterate id=”fwxx” name=”list”> <a href =”detail.do?fwid=${fwxx.fwid}”>${fwxx.title}</a> </logic:iterate> Name属性取得值。Id属性的c:forEach中var属性类似。 •Bean标签:格式化输出 <logic:iterate id=”fwxx” name=”list”> <bean:write name=”fwxx”property=”zj” format=”#,###” />元 <bean:write name=”fwxx” property=”date” format=”yyyy年MM月dd日“/> </logic:iterate> 之前需要定义Decimalformat和DataFormat对象来完成格式化的功能.bean标签支持数字和而日期的格式化 •使用bean:dafine定义页面变量 <baen:efine id=“dataList” type=”java.util.List”name=”list” scope=”request” /> 共找到${dataList.size()}条数据 Name好scope属性用于取得标签的值,bean:define标签拥有定义脚本变量和新的bean,等价于: <% //定义脚本变量 List dataList=(List)request.getAttribute(“list”); //定义新的bean pageContext.setAttribute(“dataList”,dataList); %> Id 和type属性用于指定新脚本变量和Bean的名称和类型 •使用bean:size标签:得到集合数据记录数 <bean:size id=”count” name=”list” /> 共找到${ count}条记录 Bean:size标签可以直接取得结合数据的记录数,与bean:defind相同,取值但不输入内容。重新定义,方便其他标签和El表达式引用,采用bean:write标签获取El表达式输出即可。 总结: •使用Struts标签可以使页面代码更简洁有效 •常用的3类标签:html标签,lgoic标签 和 bean标签 •Html标签代替的普通的html标签,增加了数据绑定的功能 •Ligic标签可以在页面上执行逻辑的判断 •Bean:write输出bean的值,并对日期和数字进行格式化