我的Blog我做主^_^

走向一条通往JAVA的不归路...

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  64 随笔 :: 68 文章 :: 77 评论 :: 0 Trackbacks
  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>      
  2. <%@page import="com.rao.bean.Sex"%>      
  3. <%@ taglib prefix="s" uri="/struts-tags"%>      
  4. <%@ taglib prefix="sx" uri="/struts-dojo-tags"%>      
  5. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">      
  6. <html>      
  7. <head>      
  8.   <title>My page</title>      
  9.   <s:head theme="xhtml"/>      
  10.   <sx:head parseContent="true"/>      
  11. </head>      
  12.      
  13.   <body>      
  14.     Struts 2.1 Tags      
  15.     <br/>      
  16.     <br/>      
  17.     一、控制标签<br/><hr size="3" color="red">      
  18.           
  19.      #、if /elseif/ else @用于逻辑判断<br/>      
  20.      <s:set name="bir" value="-12"></s:set>      
  21.      <s:if test="#bir>=180 || #bir<0">      
  22.         你是何方妖怪?      
  23.      </s:if>      
  24.      <s:elseif test="#bir<=18 && #bir>=0">      
  25.         未成年人不能进入!      
  26.      </s:elseif>      
  27.      <s:elseif test="#bir<=60 && #bir>=18">      
  28.         您已经成年!      
  29.      </s:elseif>      
  30.      <s:else>      
  31.         您已经老了!      
  32.      </s:else>      
  33.      <br/>--------------------------------------------------------------<br/>      
  34.      #、append @用于将多个集合合并<br/>      
  35.      <s:set name="appList1" value="{'111','222','333','444'}"></s:set>      
  36.      <s:set name="appList2" value="{'aaa','bbb','ccc','ddd'}"></s:set>      
  37.      <s:append var="newAppList">      
  38.         <s:param value="appList1"></s:param>      
  39.         <s:param value="appList2"></s:param>      
  40.      </s:append>      
  41.      <s:iterator value="#newAppList">      
  42.         <s:property/> |       
  43.      </s:iterator>      
  44.       <br/>--------------------------------------------------------------<br/>      
  45.      #、generator  <br/>      
  46.      generator标签,该标签可以将指定字符串按指定分隔符分割成多个字串。生成的多个字串可以用iterator标签进行迭代输出。可以这么理解:generator标签将一个字符串转换成一个List集合。在该标签体内,整个临时生成的集合将为Valuestack的顶端,但一旦该标签结束,生成的集合将被移除Valuestack。generator标签有如下几个属性:      
  47.     <br/>      
  48.     1、count属性:指定生成集合中元素的总数。可选属性。<br/>      
  49.           
  50.     2、val属性:必填属性,指定被解析的字符串。<br/>      
  51.           
  52.     3、separator属性:这是一个必填属性,指定用于分割字符串的分隔符。<br/>      
  53.           
  54.     4、converter属性:可选属性,指定一个转换器,转换器负责将生成的集合中的每个字符串转换成对象,通过这个转换器可以将一个含有分隔符的字符串解析成对象的集合。转换器必须一个继承org.apache.struts2.util.IteratorGenerator.Converter的对象。      
  55.     <br/>      
  56.     5、var属性,可选属性。如果指定了该属性,则将生成的集合保存在Stack Context中。如果不指定该属性,则将生成的集合放入ValueStack的顶端,该标签一结束,生成的集合就被移除。该属性也可替换成id。      
  57.     <br/>      
  58.      <s:generator  val="'aaa,bbb,ccc,ddd'"  separator="," count="2">      
  59.         <s:iterator>      
  60.             <s:property/>      
  61.         </s:iterator>      
  62.      </s:generator><br/>      
  63.      
  64.       <br/>--------------------------------------------------------------<br/>      
  65. <br/>      
  66. <s:bean id="myConverter" name="lee.TagConverter"/>
  67.      <s:generator  val="'aaa,bbb,ccc,ddd'"  separator="," count="2" converter="#myConverter">      
  68.         <s:iterator>      
  69.             <s:property/>      
  70.         </s:iterator>      
  71.      </s:generator><br/>      
  72. import org.apache.struts2.util.IteratorGenerator.Converter;

    public class TagConverter implements Converter {

     @Override
     public Object convert(String token) throws Exception {
      // TODO Auto-generated method stub
      return " -- "+token;
     }

    }

          <br/>--------------------------------------------------------------<br/>   
  73.      #、iterator 用于迭代数据<br/>      
  74.      <s:set name="iterList" value="{'aaa','bbb','ccc','ddd'}"></s:set>      
  75.      <table border="1">      
  76.      <tr>         
  77.                 <td>   索引   </td>         
  78.                 <td>   值   </td>         
  79.                 <td>   奇?   </td>         
  80.                 <td>   偶?    </td>         
  81.                 <td>   首?    </td>         
  82.                 <td>   尾?    </td>         
  83.                 <td>  当前迭代数量    </td>         
  84.             </tr>         
  85.            
  86.         <s:iterator value="{'aaa','bbb','ccc','ddd','eee','fff'}" begin="1" status="s">      
  87.             <tr bgcolor="<s:if test="#s.odd">pink</s:if>">      
  88.                 <td><s:property value="#s.index"/></td>      
  89.                 <td><s:property/></td>      
  90.                 <td><s:property value="#s.even"/></td>      
  91.                 <td><s:property value="#s.odd"/></td>      
  92.                 <td><s:property value="#s.first"/></td>      
  93.                 <td><s:property value="#s.last"/></td>      
  94.                 <td><s:property value="#s.count"/></td>      
  95.             </tr>      
  96.         </s:iterator>            
  97.      </table>      
  98.            
  99.            
  100.       <br/>--------------------------------------------------------------<br/>      
  101.      #、merge @和类似:用于将多个集合合并<br/>      
  102.      <s:set name="merList1" value="{'111','222','333','444'}"></s:set>      
  103.      <s:set name="merList2" value="{'aaa','bbb','ccc','ddd'}"></s:set>      
  104.      <s:append var="newMerList">      
  105.         <s:param value="merList1"></s:param>      
  106.         <s:param value="merList2"></s:param>      
  107.      </s:append>      
  108.      <s:iterator value="#newMerList">      
  109.         <s:property/> |       
  110.      </s:iterator>      
  111.       <br/>--------------------------------------------------------------<br/>      
  112.      #、sort @用于排序<br/>      
  113.      <s:bean var="myComparator" name="com.rao.comparator.MyComparator"></s:bean>      
  114.      <s:sort comparator="#myComparator" source="{1,45,56,0,345,3}">      
  115.         <s:iterator>      
  116.             <s:property/>,      
  117.         </s:iterator>      
  118.      </s:sort>      
  119.       <br/>--------------------------------------------------------------<br/>      
  120.      #、subset @用户截取集合中的子集;   注:decider:可选属性,指定由开发者自己决定是否选中该元素.        
  121.      <br/>      
  122.      <s:set name="subList" value="{'@@@','***','&&&','###'}"></s:set>      
  123.      <s:subset source="#subList" start="1" count="2">      
  124.         <s:iterator>      
  125.             <s:property/>,      
  126.         </s:iterator>      
  127.      </s:subset>      
  128.       <br/>--------------------------------------------------------------<br/>      
  129.        二、数据标签<br/>      
  130.       <hr size="3" color="red">      
  131.     #、action @用于导入一个Action<br/>      
  132.     使用action标签,可以允许在jsp页面中直接调用Action,在调用Action时候,可以指定需要被调用的Action的name和namespace.如果指定了executeResult参数的属性值为true,该标签会把Action的处理结果(视图资源)包含到本页面中. 使用action标签指定属性有:      
  133.     <br/>      
  134.     id: 可选属性,作为该Action的引用ID   <br/>       
  135.          
  136.     name:必选属性,指定调用Action    <br/>      
  137.              
  138.     namespace:可选属性,指定该标签调用Action所属namespace    <br/>      
  139.              
  140.     executeResult:可选属性,指定是否将Action的处理结果包含到本页面中.默认值为false,不包含.    <br/>      
  141.              
  142.     ignoreContextParam:可选参数,指定该页面的请求参数是否需要传入调用的Action中,默认值是false,即传入参数.<br/>      
  143.           
  144.     s:param是以request方式的值的,而不是以参数传值,所以request.getParameter("")会获取不到值,通过request.getAttribute("")方式可以获取<br/>      
  145.      
  146.     <s:action name="tagsAction1" ignoreContextParams="true" executeResult="true" namespace="/com/rao">      
  147.         <s:param name="userName" value="'三毛'"></s:param>      
  148.     </s:action>      
  149.           
  150.       <br/>--------------------------------------------------------------<br/>      
  151.     #、bean @用于导入一个javaBean,相当于:jsp:useBean 标签<br/>      
  152.     <s:bean name="com.rao.bean.UserBean" var="user">      
  153.         <s:param name="userId" value="1001"></s:param>      
  154.         <s:param name="userName" value="'张三'"></s:param>      
  155.     </s:bean>      
  156.     userId:<s:property value="#user.userId"/><br>      
  157.     userName:<s:property value="#user.userName"/>      
  158.       <br/>--------------------------------------------------------------<br/>      
  159.     #、date @用于格式化日期<br/>      
  160.     <s:set name="dt" value="new java.util.Date()"></s:set>      
  161.     当期系统时间是:<s:date name="dt" format="yyyy-MM-dd HH:ss:mm"/>      
  162.       <br/>--------------------------------------------------------------<br/>      
  163.     #、debug @用于调试程序,让开发人员一目了然的知道当前请求、值栈、栈中的各项参数<br/>      
  164.     <s:debug/>      
  165.       <br/>--------------------------------------------------------------<br/>      
  166.     #、i18n @用于访问国际化资源文件的内容<br/>      
  167.                 1.默认访问全局范围内的资源文件;      
  168.                 <br>      
  169.                 <s:text name="welcome">      
  170.                     <s:param>三毛</s:param>      
  171.                     <s:param>学习</s:param>      
  172.                 </s:text>      
  173.               
  174.                 <hr>      
  175.                 2.访问包范围内的资源文件;      
  176.                 <br>      
  177.                 <s:i18n name="com/rao/action/package">      
  178.                     <s:text name="welcome">      
  179.                         <s:param>三毛</s:param>      
  180.                         <s:param>学习</s:param>      
  181.                     </s:text>      
  182.                 </s:i18n>      
  183.                 <hr>      
  184.                 3.访问Action范围内的资源文件;      
  185.                 <br>      
  186.                 <s:i18n name="com/rao/action/GlobalNativeAction">      
  187.                     <s:text name="welcome">      
  188.                         <s:param>三毛</s:param>      
  189.                         <s:param>学习</s:param>      
  190.                     </s:text>      
  191.                 </s:i18n>      
  192.       <br/>--------------------------------------------------------------<br/>      
  193.     #、include @用于导入一个jsp文件,等同于:jsp:include标签<br/>      
  194.     <s:include value="success.jsp"></s:include>      
  195.       <br/>--------------------------------------------------------------<br/>      
  196.     #、param @用于给指定参数设置值<br/>      
  197.     <s:bean name="com.rao.bean.UserBean" var="user">      
  198.         <s:param name="userId" value="1001"></s:param>      
  199.         <s:param name="userName" value="'张三'"></s:param>      
  200.     </s:bean>      
  201.     userId:<s:property value="#user.userId"/><br>      
  202.     userName:<s:property value="#user.userName"/>      
  203.       <br/>--------------------------------------------------------------<br/>      
  204.     #、property @输出结果,很像EL表达式,但是可以依托于OGNL表带是很强大<br/>      
  205.     同上      
  206.       <br/>--------------------------------------------------------------<br/>      
  207.     #、push @该标签可以把程序员在ActionContext中引用的对像压入valuestack中,为以后访问对象提供了方便<br/>      
  208.     <s:push value="#request.user"><s:property value="userName"/></s:push>      
  209.       <br/>--------------------------------------------------------------<br/>      
  210.     #、set @用户声明对象或属性<br/>      
  211.     <s:set name="uName" value="#request.user.userName"></s:set>      
  212.     <s:property value="#uName"/>,你好啊!      
  213.       <br/>--------------------------------------------------------------<br/>      
  214.     #、text @用户获取国际化资源文件的内容<br/>      
  215.     请参考 il8n标签      
  216.       <br/>--------------------------------------------------------------<br/>      
  217.     #、url @用于组拼一个请求路径<br/>      
  218.     <s:url var="url1" action="MyAction" method="add">      
  219.         <s:param name="id" value="%{23}"></s:param>      
  220.         <s:param name="name" value="%{'tom'}"></s:param>      
  221.     </s:url>      
  222.     <s:property value="#url1"/>      
  223.     <br/>      
  224.     注意:<br/>         
  225.         <s:set name="myurl" value="'http://www.baidu.com'"></s:set>         
  226.         value以字符处理:   <s:url value="#myurl"></s:url><br>         
  227.         value明确指定以ognl表达式处理:    <s:url value="%{#myurl}"></s:url>         
  228.           
  229.       <br/>--------------------------------------------------------------<br/>      
  230.           
  231.        三、UI标签<br/>      
  232.     <hr size="3" color="red">      
  233.     <s:form>      
  234.     #、checkboxlist @复选框列表<br>      
  235.          1> .list 生成;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>         
  236.         name:checkboxlist的名字<br>         
  237.         list:checkboxlist要显示的列表<br>         
  238.         value:checkboxlist默认被选中的选项,checked=checked<br>         
  239.         <s:checkboxlist theme="simple" name="checkbox1" list="{'上网','看书','爬山','游泳','唱歌'}" value="{'上网','看书'}" ></s:checkboxlist>         
  240.         <br>         
  241.              
  242.         2> .Map 生成;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>         
  243.         name:checkboxlist的名字<br>         
  244.         list:checkboxlist要显示的列表<br>         
  245.         listKey:checkbox 的value的值<br>         
  246.         listValue:checkbox 的lablel(显示的值)<br>         
  247.         value:checkboxlist默认被选中的选项,checked=checked<br>         
  248.         <s:checkboxlist theme="simple" name="checkbox2" list="#{1:'上网',2:'看书',3:'爬山',4:'游泳',5:'唱歌'}" listKey="key" listValue="value" value="{1,2,5}" ></s:checkboxlist>         
  249.         
  250.          <br/>--------------------------------------------------------------<br/>      
  251.      #、combobox <br/>      
  252.     <s:combobox theme="simple" label="选择你喜欢的颜色" name="colorNames"  headerValue="------请选择------" headerKey="1"  list="{'红','橙','黄','绿','青','蓝','紫'}" />       
  253.     <br/>--------------------------------------------------------------<br/>      
  254.      #、radio @单选框<br/>       
  255.          <%         
  256.             Sex sex1 = new Sex(1,"男");          
  257.             Sex sex2 = new Sex(2,"女");         
  258.             List<Sex> list = new ArrayList<Sex>();          
  259.             list.add(sex1);         
  260.             list.add(sex2);         
  261.             request.setAttribute("sexs",list);          
  262.         %>         
  263.                       这个与checkboxlist差不多;<br>         
  264.         1>.如果集合为javabean:<s:radio theme="simple" name="sex" list="#request.sexs" listKey="id" listValue="name"></s:radio><br>         
  265.         2>.如果集合为list:<s:radio theme="simple" name="sexList" list="{'男','女'}"></s:radio><br>         
  266.         3>.如果集合为map:<s:radio theme="simple" name="sexMap" list="#{1:'男',2:'女'}" listKey="key" listValue="value"></s:radio><br>         
  267.         <hr>         
  268.      <br/>--------------------------------------------------------------<br/>      
  269.      #、select @下拉列表框<br/>        
  270.         这个与s:checkboxlist差不多;<br>         
  271.         1>.如果集合为javabean:<s:select theme="simple" name="sex" list="#request.sexs" listKey="id" listValue="name"></s:select><br>         
  272.         2>.如果集合为list:<s:select theme="simple" name="sexList" list="{'男','女'}"></s:select><br>         
  273.         3>.如果集合为map:<s:select theme="simple" name="sexMap" list="#{1:'男',2:'女'}" listKey="key" listValue="value"></s:select><br>         
  274.            
  275.      <br/>--------------------------------------------------------------<br/>      
  276.      #、doubleselect @级联菜单 <br/>      
  277.     <!--   可以用直接指定,当然也可以跟数据库绑定的 -->      
  278.      <s:set name="proviList" value="{'江西省','湖北省'}"></s:set>      
  279.      <s:set name="jxList" value="{'南昌市','赣州市','九江市','上饶市','鹰潭市'}"></s:set>      
  280.      <s:set name="hbList" value="{'武汉市','恩施市','十堰市','荆州市','襄樊市'}"></s:set>      
  281.      <s:doubleselect theme="simple"  name="provi" doubleList="top=='江西省' ? #jxList : #hbList" list="#proviList" doubleName="city"></s:doubleselect>      
  282.      <br/>--------------------------------------------------------------<br/>      
  283.      #、optiontransferselect <br/>      
  284.      <s:optiontransferselect theme="simple" label="change" name="abc" doubleList="{'111','222','333','444'}" list="{'aaa','bbb','ccc','ddd'}" doubleName="number"></s:optiontransferselect>      
  285.      <br/>--------------------------------------------------------------<br/>      
  286.      #、updownselect @可上下选择的select <br/>      
  287.      <s:updownselect label="selectCity" emptyOption="true" name="selectCity" list="#jxList" headerValue="-Please Select The City-" headerKey="-1"></s:updownselect>      
  288.       <br/>--------------------------------------------------------------<br/>      
  289.      #、sx:datetimepicker @日期选择控件 <br/>      
  290.      使用步骤:声明:我这里用的是strut 2.1.8.1,在struts2.0的版本中可能有所不同;<br/>      
  291.               1.导入struts2-dojo-plugin-2.1.8.1.jar DoJo 插件包;<br/>      
  292.               2. 导入标签:<%--@ taglib prefix="sx" uri="/struts-dojo-tags"--%>;<br/>      
  293.               3.在需要使用的页面中的head标签之间加上<%-- <sx:head parseContent="true"/> --%>;<br/>      
  294.      <sx:datetimepicker label="birthday" name="bir" value="#dt"></sx:datetimepicker>      
  295.       <br/>--------------------------------------------------------------<br/>      
  296.      #、sx:tabbedpanel @选项卡控件 <br/>      
  297.       声明:这个标签代码转至:http://blog.sina.com.cn/s/blog_6145ed810100ecud.html,版权归作者所有;写的挺好拿来大家共同学习。      
  298.            
  299.       <!-- tabbedpanel标签 -->      
  300.         <!-- 最简单的选项卡,两个选项卡加载都是本页面 -->      
  301.           <hr color="blue">      
  302.           <b>最简单的选项卡:</b>      
  303.           <br>      
  304.                 <sx:tabbedpanel id="tab1" beforeSelectTabNotifyTopics="/beforeSelect">      
  305.              <sx:div label="Tab 1" >      
  306.                  Local Tab 1     
  307.              </sx:div>        
  308.              <sx:div label="Tab 2" >      
  309.                  Local Tab 2     
  310.              </sx:div>        
  311.                 </sx:tabbedpanel>      
  312.               
  313.               
  314.         <!-- 加载其他页面的选项卡 -->      
  315.           <hr color="blue">      
  316.           <b>加载其他页面的选项卡:</b>      
  317.           <br>      
  318.           <sx:tabbedpanel id="tab2">      
  319.           <sx:div label="Remote Tab 1" href="upload.jsp">      
  320.                      Remote Tab 1     
  321.                 </sx:div>      
  322.              <sx:div label="Remote Tab 2" href="multipleUpload.jsp" >      
  323.                      Remote Tab 1     
  324.                 </sx:div>      
  325.           </sx:tabbedpanel>      
  326.               
  327.               
  328.         <!-- 设置选项卡底下的内容懒加载,即等需要的时候再加载,使用属性preload="false"-->      
  329.           <hr color="blue">      
  330.           <b>设置选项卡底下的内容懒加载,即等需要的时候再加载,使用属性preload="false":</b>      
  331.           <br>      
  332.                 <sx:tabbedpanel id="tab3">      
  333.              <sx:div label="Remote Tab 1" href="upload.jsp">      
  334.                  Remote Tab 1     
  335.              </sx:div>       
  336.              <sx:div label="Remote Tab 2" href="multipleUpload.jsp" preload="false">      
  337.                  Remote Tab 1     
  338.              </sx:div>           
  339.                 </sx:tabbedpanel>      
  340.               
  341.               
  342.         <!-- 固定大小的选项卡 -->      
  343.           <hr color="blue">      
  344.           <b>固定大小的选项卡,使用属性cssStyle和doLayout:</b>      
  345.           <br>      
  346.                 <sx:tabbedpanel cssStyle="width: 200px; height: 100px;" doLayout="true" id="tab4">      
  347.              <sx:div label="Tab 1" >      
  348.                  Local Tab 1     
  349.              </sx:div>        
  350.              <sx:div label="Tab 2" >      
  351.                  Local Tab 2     
  352.              </sx:div>        
  353.                 </sx:tabbedpanel>      
  354.               
  355.               
  356.         <!-- 每次点击选项卡时都重新刷新内容 -->      
  357.           <hr color="blue">      
  358.           <b>每次点击选项卡时都重新刷新内容,使用属性refreshOnShow:</b>      
  359.           <br>      
  360.           <sx:tabbedpanel id="tab5">      
  361.              <sx:div label="Remote Tab 1" href="upload.jsp" refreshOnShow="true">      
  362.                  Remote Tab 1     
  363.              </sx:div>       
  364.              <sx:div label="Remote Tab 2" href="multipleUpload.jsp" refreshOnShow="true">      
  365.                  Remote Tab 2     
  366.              </sx:div>           
  367.           </sx:tabbedpanel>      
  368.               
  369.                
  370.               
  371.         <!-- 使得其中一个选项卡失效 -->      
  372.           <hr color="blue">      
  373.           <b>使得其中一个选项卡失效:</b>      
  374.           <br>      
  375.                  <sx:tabbedpanel id="tab6">      
  376.             <sx:div label="Tab 1" >      
  377.                 Local Tab 1     
  378.             </sx:div>        
  379.             <sx:div label="Tab 2" disabled="true">      
  380.                 Local Tab 2     
  381.             </sx:div>        
  382.                 </sx:tabbedpanel>      
  383.               
  384.               
  385.         <!-- 设置选项卡在底部显示 (可以是: top, right, bottom, left) -->      
  386.           <hr color="blue">      
  387.           <b>设置选项卡在底部显示 (可以是: top, right, bottom, left):</b>      
  388.           <br>      
  389.           <sx:tabbedpanel id="tab7" labelposition="bottom" cssStyle="width:200px;height:100px;" doLayout="true">      
  390.              <sx:div label="Tab 1" >      
  391.                  Local Tab 1     
  392.              </sx:div>        
  393.              <sx:div label="Tab 2" >      
  394.                  Local Tab 2     
  395.              </sx:div>        
  396.           </sx:tabbedpanel>      
  397.               
  398.         <!-- 设置选项卡允许关闭,使用属性closeable -->      
  399.           <hr color="blue">      
  400.           <b>设置选项卡允许关闭,使用属性closeable:</b>      
  401.           <br>             
  402.           <sx:tabbedpanel id="tab8">      
  403.              <sx:div label="Tab 1" >      
  404.                  Local Tab 1     
  405.              </sx:div>        
  406.              <sx:div label="Tab 2"  closable="true">      
  407.                  Local Tab 2     
  408.              </sx:div>        
  409.           </sx:tabbedpanel>      
  410.      
  411.      <br/>--------------------------------------------------------------<br/>      
  412.      #、sx:textarea @textarea控件 <br/>      
  413.      <sx:textarea label="简介" value="sx:textareasx:textareasx:<br/>textareasx:textareasx:textareasx:<br/>textareasx:textareasx:<br/>textareasx:textarea"></sx:textarea>      
  414.            
  415.      <br/>--------------------------------------------------------------<br/>      
  416.      #、sx:tree @树控件 <br/>      
  417.      <sx:tree id="tree1" label="根节点">      
  418.        <sx:treenode id="tn1" label="财务部" />      
  419.        <sx:treenode id="tn2" label="开发部">      
  420.            <sx:treenode id="tn3" label="JAVA" />      
  421.            <sx:treenode id="tn4" label=".NET" />      
  422.        </sx:treenode>      
  423.        <sx:treenode id="tn5" label="人事部" />      
  424.     </sx:tree>      
  425.            
  426.  </s:form>         
  427.            
  428.   </body>      
  429. </html>    

引自网络



posted on 2010-10-26 11:08 java_蝈蝈 阅读(591) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: