zoukankan      html  css  js  c++  java
  • Struts2标签简介

    Struts2标签简介

      Struts2标签的优势

        标签库简化了用户对标签的使用

        结合OGNL使用,对于集合、对象的访问功能非常强大

        提供可扩展的主题、模板支持,极大简化了视图页面的编写

        不依赖任何表现层技术

    Struts2标签的分类

      通用标签(Generic Tags)

      数据标签( Data Tags )

      控制标签( Control Tags )

      UI标签( UI Tags )

      Ajax标签( Ajax Tags )

    数据标签

      <s:property>:输出指定值

      value:用来获取值的OGNL表达式

      default:value属性返回空值时,如果仍希望输出某些内容,可使用default来指定这些内容

      escapeHtml:是否转义HTML ,默认取值true

       <s:debug>:查看值栈以及Stack Context中所能访问的值

       <s:date> :格式化输出一个日期数据

      name :被格式化的值,必须设置

      format :指定日期格式,如:yyyy-MM-dd HH:mm:ss

      <s:set> :对设置的表达式求值,并将结果赋给特定作用域中的某个变量

      var:变量名

      value:变量的值,可以是常量,也可以是OGNL表达式

      scope:变量的生存周期

      应用:比如一个对象在OGNL上的访问层次较深,可以使用该标签将其定义为一个变量,这样保  证在多次引用它时更方便

       <s:url> :用来生成一个url

      var:该url的引用名称。如果指定这个属性,则url标签不会在页面上生成字符串

      action:要访问的Action的名字

      value:要访问的目标,如果action不提供,就使用value作为URL的地址值

      <s:a> :用来生成HTML的<a>标签,可以通过<s: url>来设置它的url

        <s:a> :用来生成HTML的<a>标签,可以通过<s: url>来设置它的url

      href:超链接的url

      <s:a>与<s:url>

      <s:a>用来直接生成一个超链接

      <s:url>用来生成一个字符串

      <s: param> :用来为其它标签添加参数化设置的功能

      name:参数的名称

      value:参数的值

        一般不单独使用,而是作为其他标签的子标签,主要用来配合其他标签指定参数

      <s:include> :把其他页面包含到当前的页面上,类似于<jsp:include>上,类似于<jsp:include>

      value:用来指定其他可以被引用的URL的名字,必须要设置

    小结

      OGNL变为字符串

        单引号如: <s:property value="'<hr/>'" escapeHtml="false"/>

         字符串变为OGNL

        %{},如:<s:a href="%{#houseUrl}">超链接</s:a>

        OGNL中%、#以及$的使用场景

        %{}:设置动态的值,告诉标签的处理类,该字符串按照OGNL表达式来处理

        比如:<s:property value=“house.title”/>

        不加%{},标签处理类已经将其作为OGNL表达式动态处理了

        方法一:不确定时,可以每个属性都加%{}

        方法二:根据实际的运行效果来调整标签属性写法

        #:取Stack Context中的值

        如:<s:property value="#request.name"/>

    控制标签

      <s: if> 、 <s: elseif> 、 <s: else> 表达分支判断

      test:表示是否符合条件,本身是一个OGNL表达式,运算结果为一个boolean值

      <s:iterator>  用来处理循环,遍历集合对象

      value :用来指明到底循环的是谁,这个属性的值是个OGNL表达式

      var :变量名称,用来引用被循环的对象

      status :返回当前循环的各种信息

      count :集合含有多少个对象

      index :正在循环的这一项的索引

      even :当前遍历到的对象是不是处于列表的偶数索引位置

      odd :当前遍历到的对象是不是处于列表的奇数索引位置

    UI标签简介

      Struts2 UI标签

        用来生成Web界面,或者为Web界面提供某些功能支持

        实现是基于模板和主题的

        模板(Template)

        就是一些代码,在Struts2中通常是用FreeMarker编写的文件(.ftl)

        用于生成HTML

        在Struts2核心jar包的template包中

      主题(Theme)

        将一些具有共同观感的模板组织到一起就形成了主题

        Struts2使用目录名作为主题名

        可以通过切换主题来切换标签生成的HTML的风格

        Struts2内建主题

        simple、xhtml、css_xhtml、ajax

        自己可以修改主题

        修改struts.xml配置 <constant name="struts.ui.theme" value="simple" />

        设置相应标签的theme属性

    UI标签演示小结

      Struts2的表单标签会在HTML标签中找到对应的标签,所以各标签属性可以对比之前HTML标签的属性,作用一样

      Struts2的表单标签会在HTML标签中找到对应的标签,所

      以各标签属性可以对比之前HTML标签的属性,作用一样

      <s:form>表单

      属性:name、action、method

      <s:textfield>单行文本框

       属性:name、value、maxlength、readonly

      <s:textarea>多行文本框

      属性:name、value、cols、rows、readonly

      <s:submit>提交按钮

     

     

    UI标签之下拉框

      <s:select>下拉框

      name:下拉框的名字

      list:生成下拉框的集合

        listKey :生成的选项的value值的集合对象的属性

       listValue :生成的选项显示的文字的集合对象的属性

      <s:doubleselect>两个联动的下拉框

      name/doubleName:第一个/第二个下拉框的名字

      list/doubleList:生成第一个/第二个下拉框的集合

      listKey/doubleListKey :生成第一个/第二个下拉框的选项的value值的集合对象属性

       listValue/doubleListValue :生成第一个/第二个下拉框的选项显示的文字的集合对象属性

     

     

    Ajax标签

      datetimepicker标签:日期、时间

      name:名称

      label :用来显示组件前的文本

      使用步骤

        在项目中引入struts2-dojo-plugin-2.3.4.1.jar

        <%@taglib uri="/struts-dojo-tags" prefix="sx"%>

        <sx:head parseContent="true" />

        <sx:datetimepicker name="timer" label="发表时间"/>

        UI标签、Ajax标签实际使用并不多,通过帮助文档了解即可

     

     

    演示小结

      doubleselect不换行显示

      方法一:添加CSS样式

        .add br{display:none;}

      方法二:修改/template/simple/doubleselect.ftl,去掉其中的<br/>

       实现数据回显

        表单标签name与Action属性一致

        添加房屋后跳转到Action,应该以转发形式,而不是重定向

  • 相关阅读:
    wrod2010删除分节符
    英文找工作网站
    win7中如何关闭“windows正在下载更新”
    设置pdf为护眼绿色
    如何查询Lancome生产及保质期
    (转)浅谈.NET下的多线程和并行计算(二)线程基本知识
    (转)浅谈.NET下的多线程和并行计算(一)前言
    (转载)一步一步学Linq to sql系列文章
    LINQ简介和LINQ to SQL语句之Where
    浅谈sql 、linq、lambda 查询语句的区别
  • 原文地址:https://www.cnblogs.com/xuerong/p/5037793.html
Copyright © 2011-2022 走看看