zoukankan      html  css  js  c++  java
  • Struts2.0新标签的用法

    一、 url标签
     简介
    url标签用于生成一个URL地址,可以通过url标签指定param子元素,从而向指定URL发送请求参数。
    1. jsp代码
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
    <title>使用s:url来生成一个URL地址</title>
    </head>
    <body>
    <h2>s:url来生成一个URL地址</h2>
    只指定value属性的形式。<br>
    <s:url value="editGadget.action"/>
    <hr>
    指定action属性,且使用param传入参数的形式。<br>
    <s:url action="showBook">
    <s:param name="author" value="'yeeku'" />
    </s:url>
    <hr>
    既不指定action属性,也不指定value属性,且使用param传入参数的形式。<br>
    <s:url includeParams="get" >
    <s:param name="id" value="%{'22'}"/>
    </s:url>
    <hr>
    同时指定action属性和value属性,且使用param传入参数的形式。<br>
    <s:url action="showBook" value="xxxx">
    <s:param name="author" value="'yeeku'" />
    </s:url></body></html>
    备注:我们用的最多的是以下的方式:
    <s:url id="url" action="preModifyCategoryName" includeParams="none" namespace="/category">
    <s:param name="categoryId" value="%{categoryId}"/>
    </s:url>
    <s:a href="%{url}">
    <s:text name="modify_category_name"/>
    </s:a>
    2. 页面效果
    s:url来生成一个URL地址
    只指定value属性的形式。
    editGadget.action
    ________________________________________
    指定action属性,且使用param传入参数的形式。
    /portal/test/showBook.action?author=yeeku
    ________________________________________
    既不指定action属性,也不指定value属性,且使用param传入参数的形式。
    /portal/test/s-url.jsp?id=22
    ________________________________________
    同时指定action属性和value属性,且使用param传入参数的形式。
    xxxx?author=yeeku
    二、 s:checkboxlist标签
     简介
    Checkboxlist标签可以一次创建多个复选框,用于一次生成多个HTML标签中的<inputtype=”checkbox” …/>,它根据list属性指定的集合来生成多个复选框。
    1. jsp代码
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
    <title>使用s:checkboxlist生成多个复选框</title>
    <s:head/>
    </head>
    <body>
    <h3>使用s:checkboxlist生成多个复选框</h3>
    <s:form>
    <!-- 使用简单集合来生成多个复选框 -->
    <s:checkboxlist name="a" label="请选择您喜欢的图书" labelposition="top"
    list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}"/>
    <!-- 使用简单Map对象来生成多个复选框 -->
    <s:checkboxlist name="b" label="请选择您想选择出版日期" labelposition="top"
    list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
    listKey="key"
    listValue="value"/>
    <s:bean name="lee.BookService" id="bs"/>
    </s:form>
    </body>
    </html>
    备注
     <!-- 使用集合里放多个JavaBean实例来生成多个复选框 -->
    <s:checkboxlist name="b" label="请选择您喜欢的图书" labelposition="top"
    list="#bs.books"
    listKey="name"
    listValue="author"/>
     listKey:该属性指定集合元素中某个属性作为复选框的value.
     listValue: 该属性指定集合元素中某个属性作为复选框的标签。
    2. 页面效果
    三、 使用s:combobox生成下拉输入框
     简介
    Combobox标签生成一个单行文本框和下拉列表框的组合,但两个表单元素只对应一个请求参数,只有单行文本框里的值才包含请求参数,而下拉列表框则只是用于辅助输入,并没有name,也不会产生请求参数。使用该标签,需要指定一个list属性,该list属性指定的集合将用于生成列表项。
    1. Jsp代码
    <body>
    <h3>使用s:combobox生成下拉输入框</h3>
    <s:form>
    <s:combobox label="请选择您喜欢的图书" theme="css_xhtml" labelposition="top"
    list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'}"
    size="20" maxlength="20" name="book"/>
    </s:form>
    </body>
    1. 页面效果
    第一步
    第二步
    备注:
    与<s:select …/>标签不同的是,对于下面的下拉列表,无需指定listKey和listValue属性,因为此处的下拉列表,不再用于发送请求参数,而仅仅是用于辅助输入,因此该下拉列表的value没有任何意义。(注:使用combobox标签时不能指定listKey和 listValue属性)
    四、 使用s:datetimepicker生成日期选择框
     简介
    Datetimepicker标签生成一个日期,时间下拉选择框,当我们使用该日期,时间选择框选择某个日期,时间,系统会自动将选中的日期,时间输入指定文本框。
    1. Jsp代码
    <body>
    <h3>使用使用s:datetimepicker生成日期选择框</h3>
    <s:form theme="simple">
    日期选择部件,指定toggleType属性,且指定value="today"<br>
    <s:datetimepicker name="order.date" label="购买日期" toggleType="explode" value="today"/><hr>
    日期选择部件,指定了format属性<br>
    <s:datetimepicker name="order.date" label="购买日期" displayFormat="dddd年MM月dd日"/><hr>
    日期选择部件,指定了weekStartsOn属性<br>
    <s:datetimepicker name="order.date" label="购买日期" displayFormat="dddd年MM月dd日" weekStartsOn="2"/><hr>
    时间选择部件<br>
    <s:datetimepicker label="选择出发时间'" name="start" type="time" value="13:00"/><hr>
    </s:form>
    </body>
    2. 页面效果
    第一步
    第二步
    第三步 :
    第四步:
    备注
     toggleType:指定日期选择框出现、隐藏的方式,可以选择plain,wipe,explode和fade4个值。
     value:指定当前的日期,时间。可使用today来代表今天。
    五、 使用s:select生成下拉选择框
     简介
    Select 标签用于生成一个下拉列表框,通过为该元素指定list属性,系统会使用list属性指定的集合来生成下拉列表框的选项。
    1. Jsp代码
    <body>
    <h3>使用s:select生成下拉选择框</h3>
    <s:form>
    <!-- 使用简单集合来生成下拉选择框 -->
    <s:select name="a" label="请选择您喜欢的图书" labelposition="top" multiple="true"
    list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
    <!-- 使用简单Map对象来生成下拉选择框 -->
    <s:select name="b" label="请选择您想选择出版日期" labelposition="top"
    list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
    listKey="key"
    listValue="value"/>
    <s:bean name="lee.BookService" id="bs"/>
    <!-- 使用集合里放多个JavaBean实例来生成下拉选择框 -->
    <s:select name="b" label="请选择您喜欢的图书" labelposition="top" multiple="true"
    list="#bs.books"
    listKey="author"
    listValue="name"/>
    </s:form>
    </body>
    2. 页面效果
    第二步
    六、使用s:radio生成多个单选框
     简介
    s:radio生成多个单选框。
    1. Jsp代码
    <body>
    <h3>使用s:radio生成多个单选框</h3>
    <s:form>
    <!-- 使用简单集合来生成多个单选框 -->
    <s:radio name="a" label="请选择您喜欢的图书" labelposition="top"
    list="{'Spring2.0宝典' , 'Spring In Action' , 'JavaScript: The Definitive Guide'}"/>
    <!-- 使用简单Map对象来生成多个单选框 -->
    <s:radio name="b" label="请选择您想选择出版日期" labelposition="top"
    list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
    listKey="key"
    listValue="value"/>
    <s:bean name="lee.BookService" id="bs"/>
    <!-- 使用集合里放多个JavaBean实例来生成多个单选框 -->
    <s:radio name="c" label="请选择您喜欢的图书" labelposition="top"
    list="#bs.books"
    listKey="author"
    listValue="name"/>
    </s:form>
    </body>
    2、 页面效果
    七、使用s:optgroup生成下拉选择框的选项组
     简介
    Optgroup标签用于生成一个下拉列表框的选项组。
    1. Jsp代码
    <body>
    <h3>使用s:optgroup生成下拉选择框的选项组</h3>
    <s:form>
    <!-- 使用Map对象来生成下拉选择框的选项组 -->
    <s:select label="选择您喜欢的图书"
    name="book"
    list="#{'Spring2.0宝典':'李刚','轻量级J2EE企业应用实战':'李刚','基于J2EE的Ajax宝典':'李刚'}"
    listKey="value"
    listValue="key">
    <s:optgroup label="Rod Johnson"
    list="#{'Expert One-on-One J2EE Design and Development':'Johnson'}"
    listKey="value"
    listValue="key"/>
    <s:optgroup label="David Flanagan"
    list="#{'JavaScript: The Definitive Guide':'David'}"
    listKey="value"
    listValue="key"/>
    </s:select>
    </s:form>
    </body>
    2、 页面效果
    第二步
    八、使用s:optiontransferselect来生成可移动列表项的下拉列表框
     简介
    使用s:optiontransferselect来生成可移动列表项的下拉列表框。
    1. Jsp代码
    <body>
    <h3>使用s:optiontransferselect来生成可移动列表项的下拉列表框</h3>
    <s:form>
    <!-- 使用简单集合对象来生成可移动的下拉列表框 -->
    <s:optiontransferselect
    label="请选择你喜欢的图书"
    name="cnbook"
    leftTitle="中文图书:"
    rightTitle="外文图书"
    list="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}"
    multiple="true"
    addToLeftLabel="向左移动"
    selectAllLabel="全部选择"
    addAllToRightLabel="全部右移"
    headerKey="cnKey"
    headerValue="--- 选择中文图书 ---"
    emptyOption="true"
    doubleList="{' J2EE Design and Development', 'The Definitive Guide'}"
    doubleName="enBook"
    doubleHeaderKey="enKey"
    doubleHeaderValue="--- 选择外文图书 ---"
    doubleEmptyOption="true"
    doubleMultiple="true"
    />
    </s:form>
    </body>
    2、 页面效果
    备注:
    如果我们不想用它默认的图标,我们可以添加标签,将它默认的覆盖掉:例如我们添加如下代码:
    addToRightLabel="向右移动"
    leftDownLabel="下移按钮 "
    页面效果
    九、使用s:updownselect生成可上下移动选项的下拉选择框
     简介
    Updownselect标签的用法非常类似于select标签的用法,区别是该标签声称的列表框可以支持选项的上下移动。
    1. Jsp代码
    <body>
    <h3>使用s:updownselect生成可上下移动选项的下拉选择框</h3>
    <s:form>
    <!-- 使用简单集合来生成可上下移动选项的下拉选择框 -->
    <s:updownselect name="a" label="请选择您喜欢的图书" labelposition="top"
    moveUpLabel="向上移动"
    list="{'Spring2.0宝典' , '轻量级J2EE企业应用实战' , 'JavaScript: The Definitive Guide'}"/>
    <!-- 使用简单Map对象来生成可上下移动选项的下拉选择框
    且使用emptyOption="true"增加一个空选项-->
    <s:updownselect name="b" label="请选择您想选择出版日期" labelposition="top"
    moveDownLabel="向下移动"
    list="#{'Spring2.0宝典':'2006年10月' , '轻量级J2EE企业应用实战':'2007月4月' , '基于J2EE的Ajax宝典':'2007年6月'}"
    listKey="key"
    emptyOption="true"
    listValue="value"/>
    <s:bean name="lee.BookService" id="bs"/>
    <!-- 使用集合里放多个JavaBean实例来可上下移动选项的生成下拉选择框 -->
    <s:updownselect name="c" label="请选择您喜欢的图书的作者" labelposition="top"
    selectAllLabel="全部选择" multiple="true"
    list="#bs.books"
    listKey="author"
    listValue="name"/>
    </s:form>
    </body>
    2.页面效果
    十、使用s:doubleselect生成级联下拉列表框
     简介
    1.Jsp代码
    <body>
    <h3>使用s:doubleselect生成级联下拉列表框</h3>
    <s:form action="x" method="post" theme="simple">
    <s:doubleselect
    label="请选择您喜欢的图书"
    name="author" list="{'李刚', 'David'}"
    doubleList="top == '李刚' ? {'Spring2.0宝典', '轻量级J2EE企业应用实战' , '基于J2EE的Ajax宝典'} : {'JavaScript: The Definitive Guide'}"
    doubleName="book"/>
    </s:form>
    </body>
    2。页面效果
    备注:
    错误原因可能是我们的模板有bug.
    十一、使用s:tree和s:treenode标签生成静态树
     简介
    1。Jsp代码
    <body>
    <s:tree label="计算机图书" id="book" theme="ajax"
    showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">
    <s:treenode theme="ajax" label="李刚" id="yeeku">
    <s:treenode theme="ajax" label="Spring2.0宝典" id="spring"/>
    <s:treenode theme="ajax" label="轻量级J2EE企业应用实战" id="lightweight"/>
    <s:treenode theme="ajax" label="基于J2EE的Ajax宝典" id="ajax"/>
    </s:treenode>
    <s:treenode theme="ajax" label="David" id="David">
    <s:treenode theme="ajax" label="JavaScript: The Definitive Guide" id="javascript"/>
    </s:treenode>
    <s:treenode theme="ajax" label="Johnson" id="Johnson">
    <s:treenode theme="ajax" label="Expert One-on-One J2EE Design and Development" id="j2ee"/>
    </s:treenode>
    </s:tree>
    </body>
    2。页面效果
    十二、使用s:append标签拼接两个集合
     简介
    使用s:append标签拼接 多个集合,组成一个新的集合。
    1.Jsp代码
    <body>
    <s:append id="newList">
    <s:param value="{'Spring2.0宝典','轻量级J2EE企业应用实战','基于J2EE的Ajax宝典'}" />
    <s:param value="{'新东方IT培训', '东方标准职业教育'}" />
    </s:append>
    <table border="1" width="240">
    <s:iterator value="#newList" status="st">
    <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
    <td><s:property/></td>
    </tr>
    </s:iterator>
    </table>
    </body>
    2。页面效果
    十三、使用s:append标签拼接集合和Map
     简介
    Append标签用于将多个集合对象拼接起来,组成一个新的集合。通过这种拼接,从而允许通过一个<s:iterator …/>标签就完成对多个集合的迭代。
    1.Jsp代码
    <body>
    <s:append id="newList">
    <s:param value="#{'Spring2.0宝典':'李刚','轻量级J2EE企业应用实战':'李刚','基于J2EE的Ajax宝典':'李刚'}" />
    <s:param value="#{'新东方IT培训', '东方标准职业教育'}" />
    </s:append>
    <table border="1" width="240">
    <s:iterator value="#newList" status="st">
    <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
    <td><s:property value="key"/></td>
    <td><s:property value="value"/></td>
    </tr>
    </s:iterator>
    </table>
    </body>
    2.页面效果
    十五、使用s:generator生成集合
     简介
    使用generator标签可以将指定字符串按指定分隔符分隔成多个子串,临时生成的多个子串可以使用iterator标签迭代输出。可以这样理解:generator将一个字符串转化成一个集合。在该标签的标签体内,整个临时生成的集合将位于ValueStack的顶端,但一旦该标签结束,该集合将被移出ValueStack。
    1.Jsp代码
    <body>
    <s:generator val="'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典'"
    separator="," id="books" count="2"/>
    <table border="1" width="240">
    <%
    java.util.Iterator i = (java.util.Iterator) pageContext.getAttribute("books");
    while(i.hasNext())
    {
    String s = (String) i.next(); %>
    <tr>
    <td><%=s%></td>
    </tr>
    <%
    }
    %>
    </table>
    </body>
    备注:如果指定了count属性,则以为这集合中最多只能包含count个元素(就是前coun个元素);如果指定了id属性,就可以将临时生成的集合放置到pageContext属性中。
    2.页面效果
    3.jsp代码
    <body>
    <table border="1" width="240">
    <s:generator val="'Spring2.0宝典,轻量级J2EE企业应用实战,基于J2EE的Ajax宝典'" separator=",">
    <s:iterator status="st">
    <tr <s:if test="#st.odd">style="background-color:#bbbbbb"</s:if>>
    <td><s:property/></td>
    </tr>
    </s:iterator>
    </s:generator>
    </table>
    </body>
    4。页面效果

    from:http://shuixian.javaeye.com/blog/149744

  • 相关阅读:
    ubuntu下如何更改mysql数据存放路径
    collection_select
    发现星期六日的电视比较好看
    rails
    系统抢救10.04
    劫后重生,痛定思痛,ubuntu 10.04=>10.10
    随机查询N条记录
    which linux your like
    kindeditor的使用
    array
  • 原文地址:https://www.cnblogs.com/myssh/p/1390881.html
Copyright © 2011-2022 走看看