struts2标签讲解.docx
- 文档编号:5617086
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:9
- 大小:20.33KB
struts2标签讲解.docx
《struts2标签讲解.docx》由会员分享,可在线阅读,更多相关《struts2标签讲解.docx(9页珍藏版)》请在冰豆网上搜索。
struts2标签讲解
Struts2常用标签讲解
写jsp页面的时候,在struts2中,用的是s标记,先引入标记:
<%@taglibprefix="s"uri="/struts-tags"%>
struts2的标签和struts1是完全不同的。
struts2的标签分为两大类:
非UI标志和UI标志,而struts1将标志库按功能分成HTML、Tiles、Logic和Bean等几部分。
下面就介绍strut2的具体标签:
1、UI
UI标志又可以分为表单UI和非表单UI两部分。
表单UI部分基本与Struts1.x相同,都是对HTML表单元素的包装。
不过,Struts2.0加了几个我们经常在项目中用到的控件,如:
datepicker、doubleselect、timepicker、optiontransferselect等。
因为这些标志很多都经常用到,而且参数也很多,要在一篇文章详细说明并非易事。
下面主要是ui标签的一些用法
form:
formaction="exampleSubmit"method="post"enctype="multipart/form-data"> submit /> reset /> form> 可以上传文件的form textfield: textfield label="姓名: " name="name" tooltip="EnteryourNamehere"/> datepicker: 单独时间控件 datepicker tooltip="SelectYourBirthday" label="生日" name="birthday"/> textarea: textarea tooltip="Enteryourremart" label="备注" name="remart" cols="20" rows="3"/> select: select tooltip="Chooseuser_type" label="" list="#{'free': '免费','vip': '收费'}"value="#{'free': '免费'}" name="bean.user_type" emptyOption="true" headerKey="None" headerValue="None"/> select tooltip="Chooseuser_type" label="" list="#{'free': '免费','vip': '收费'}"value="#{'free': '免费'}" name="bean.user_type" emptyOption="true" headerKey="None" headerValue="None"/> select list="venderList" listKey="id" listValue="name" value="%{panyName}" name="companyName"cssClass="sel_style_w_180"/> checkboxlist: checkboxlist tooltip="ChooseyourFriends" label="朋友" list="{'Patrick','Jason','Jay','Toby','Rene'}" name="friends"/> checkbox: checkbox tooltip="ConfirmedthatyourareOver18" label="年龄" name="legalAge" value="18"/> file: file tooltip="UploadYourPicture" label="Picture" name="picture"/> a: ahref="getP.jsp">超链接提交 a> date: datename="ad_end_time"format="yyyy-MM-dd"/> 2、非UI if、elseif和else描述: 执行基本的条件流转。 参数: 名称必需默认类型描述备注test是Boolean决定标志里内容是否显示的表达式,else标志没有这个参数id是Object/String用来标识元素的id。 在UI和表单中为HTML的id属性例子: <%@pagec%> <%@taglibprefix="s"uri="/struts-tags"%> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> -- 这里有点小技巧: 本来可以用#parameters.name[0]来获得,请求中name的值。 但是,在我实现include例子时, 无论我用param标志给name赋任何值,#parameters里面不会含有任何值,所以#parameters.name也为空值。 其原因为: 当使用include标志时,被包含的页面(included)里#parameters拿到的是包含页面里的请求参数。 因此,这里必须手工调用request.getParameter("name")。 --> iteratorvalue="linkList"status="bean"> propertyvalue="#bean.Index+1"/> propertyvalue="link_title"/> propertyvalue="link_url"/> iftest="link_type==1"> 文字 if> elseiftest="link_type==2"> 图片 elseif> else> ----- else> 例1condition.jsp iterator描述: 用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。 参数: 名称必需默认类型描述status是String如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈value是Object/String要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象id是Object/String用来标识元素的id。 在UI和表单中为HTML的id属性例子: <%@pagec%> <%@pageimport="java.util.List"%> <%@pageimport="java.util.ArrayList"%> <%@taglibprefix="s"uri="/struts-tags"%> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> <% Listlist=newArrayList(); list.add("Max"); list.add("Scott"); list.add("Jeffry"); list.add("Joe"); list.add("Kelvin"); request.setAttribute("names",list); %> -- 1、此处的空property元素用于获得当前iterator的值 2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。 IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。 这些信息在我们做格式化的时候,显得非常有用。 3、id将names作为list对象的当前值取名为name,对name操作即可完成变量的取值 --> iteratorvalue="#request.names"status="stuts"id="name"> iftest="#stuts.odd==true"> --判断是否单数行--> property/> if> else> gray"> propertyvalue="#name"/> else> iterator> 例2iterator.jsp i18n描述: 加载资源包到值堆栈。 它可以允许text标志访问任何资源包的信息,而不只当前action相关联的资源包。 参数: 名称必需默认类型描述value是Object/String资源包的类路径(如com.xxxx.resources.AppMsg)id是Object/String用来标识元素的id。 在UI和表单中为HTML的id属性例子: HelloWorld=HelloWrold! 例3classes\ApplicationMessages.properties <%@pagec%> <%@taglibprefix="s"uri="/struts-tags"%> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> i18nname="ApplicationMessages"> textname="HelloWorld"/> i18n> 例3i18n.jsp include描述: 包含一个servlet的输出(servlet或jsp的页面)。 参数: 名称必需默认类型描述value是String要包含的jsp或servletid是Object/String用来标识元素的id。 在UI和表单中为HTML的id属性例子: <%@pagec%> <%@taglibprefix="s"uri="/struts-tags"%> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> includevalue="/condition.jsp"> paramname="name">Max param> include> includevalue="/i18n.jsp"/> 例4include.jsp param描述: 为其他标签提供参数,比如include标签和bean标签.参数的name属性是可选的,如果提供,会调用Component的方法addParameter(String,Object),如果不提供,则外层嵌套标签必须实现UnnamedParametric接口(如TextTag)。 value的提供有两种方式,通过value属性或者标签中间的text,不同之处我们看一下例子: --(A)--> --(B)--> (A)参数值会以String的格式放入statck. (B)该值会以java.lang.Object的格式放入statck. 参数: 名称必需默认类型描述name是String参数名value是Stringvalue表达式id是Object/String用来标识元素的id。 在UI和表单中为HTML的id属性例子: 请参考例4。 set描述: set标签赋予变量一个特定范围内的值。 当希望给一个变量赋一个复杂的表达式,每次访问该变量而不是复杂的表达式时用到。 其在两种情况下非常有用: 复杂的表达式很耗时(性能提升)或者很难理解(代码可读性提高)。 参数: 名称必需默认类型描述name是String变量名字scope是String变量作用域,可以为application,session,request,page,或action.value是Object/String将会赋给变量的值id是Object/String用来标识元素的id。 在UI和表单中为HTML的id属性例子: 请参考例1。 text描述: 支持国际化信息的标签。 国际化信息必须放在一个和当前action同名的resourcebundle中,如果没有找到相应message,tagbody将被当作默认message,如果没有tagbody,message的name会被作为默认message。 参数: 名称必需默认类型描述name是String资源属性的名字id是Object/String用来标识元素的id。 在UI和表单中为HTML的id属性例子: 请参考例3。 url描述: 该标签用于创建url,可以通过"param"标签提供request参数。 当includeParams的值时'all'或者'get',param标签中定义的参数将有优先权,也就是说其会覆盖其他同名参数的值。 参数: 略 例子: <%@pagec%> <%@taglibprefix="s"uri="/struts-tags"%> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"> urlvalue="/i18n.jsp"/>'>i18n urlid="url"value="/condition.jsp"> paramname="name">Max param> url> ahref="%{url}">if\elseif\else a> 例5url.jsp property描述: 得到'value'的属性,如果value没提供,默认为堆栈顶端的元素。 参数: 名称必需默认类型描述default是String如果属性是null则显示的default值escape是trueBooelean是否escapeHTMLvalue是栈顶Object要显示的值id是Object/String用来标识元素的id。 在UI和表单中为HTML的id属性例子: 请参考例2。 struts2标签索引 A: axhref=""> actionname=""> action>-----执行一个view里面的一个action actionerror/>-----如果action的errors有值那么显示出来 actionmessage/>-----如果action的message有值那么显示出来 append> append>-----添加一个值到list,类似于list.add(); autocompleter> autocompleter>-----自动完成 combobox>标签的内容,这个是ajax B: beanname=""> bean>-----类似于struts1.x中的,JavaBean的值 C: checkbox> checkbox>-----复选框 checkboxlistlist=""> checkboxlist>-----多选框 comboboxlist=""> combobox>-----下拉框 component> component>-----图像符号 D: date/>-----获取日期格式 datetimepicker> datetimepicker>-----日期输入框 debug> debug>-----显示错误信息 div> div>-----表示一个块,类似于html的 doubleselectlist=""doubleName=""doubleList=""> doubleselect>-----双下拉框 E: iftest=""> if> elseiftest=""> elseif> else> else>-----这3个标签一起使用,表示条件判断 F: fielderror> fielderror>-----显示文件错误信息 file> file>-----文件上传 formaction=""> form>-----获取相应form的值 G: generatorseparator=""val=""> generator>----和 iterator>标签一起使用 H: head/>-----在 hidden> hidden>-----隐藏值 I: i18nname=""> i18n>-----加载资源包到值堆栈 include 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1ConditionFlow
Names:
InteratorPage
i18n
URL