Struts2--标签tag

  在Struts2框架中提供了一套标签库,可以与struts2无缝结合。

  

  数据标签a、action、bean、date、debug、i18n、include、param、property、push、set、text、url

  控制标签:if、elseif、else、append、generator、interator、merge、sort、subset

简单实例

property:用来取得值桟中的值。

<s:push value="myBean">
    <!-- Example 1: -->
    <s:property value="myBeanProperty" />
 
    <!-- Example 2:
        escapeHtml :表示是否跳过html,默认为true
    -->TextUtils
    <s:property value="myBeanProperty" default="a default value"  escapeHtml=“false”/>
</s:push>

param:用来给其他标签传入参数

  |-name:参数的名字

  |-value:参数的值

  |-suppressEmptyParameters:是否压缩空参数

set:用来声明一个在特定作用于的变量

  作用域有:application、session、request、page、action

  几个属性:

    |-scope:作用域,默认是action

    |-value:变量的值

    |-var:变量的名字

*注意变量值的地方需要在双引号里面加单引号

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<s:set var="i" value="1"></s:set>
<s:property value="#i"/><br/>
<s:set var="xx" value="#i" scope="session"/>
<s:set var="a" value="‘application范围的值‘" scope="application"/>
<s:set var="s" value="‘session范围的值‘" scope="session"/>
<s:set var="r" value="‘request范围的值‘" scope="request"/>
<s:set var="p" value="‘page范围的值‘" scope="page"/>
<s:set var="ac" value="‘action范围的值‘" scope="action"></s:set>

-------------------------<br/>
<s:property value="#session.xx"/><br/>
<s:property value="#ac" /><br/>
<s:property value="#attr.p" /><br/>
<s:property value="#request.r" /><br/>
<s:property value="#session.s" /><br/>
<s:property value="#application.a"/><br/>

</html>

输出结果:

bean:用来定义一个java bean

  |-name:bean的全路径类名字

  |-var:定义的javabean的名字

package com.fuwh.model;

public class Student {

    private int id;
    private String name;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

}

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
    <s:bean name="com.fuwh.model.Student" var="student">
        <s:param name="id" value="2"></s:param>
        <s:param name="name" value="‘张三‘"></s:param>
    </s:bean>
    -------------------------<br/>
    <s:property value="#student.id"/>
    <s:property value="#student.name"/>
</body>
</html>

执行结果:

date:用不同的方式格式化日期

  |-fromat:指定日期显示格式

  |-name:需要被格式化的日期的值

  |-nice:是否nicely的打印日期

  |-timezone:格式化日期的时区

  |-var:引用值桟中的日期

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
    <%
        request.setAttribute("date",new Date());
    %>
    -------------------------<br/>
    ${date }<br/>
    <s:date name="#request.date" format="yy-MM-dd hh:mm:ss"/>
</body>
</html>

输出结果:

debug标签:可以输出值桟中的值

<s:debug></s:debug>

url和a标签

  url:创建一个url变量,可以在里面 用param标签来传入参数

  a:创建一个url

includ:用来引入别的资源

<s:include value="head.jsp"></s:include>

控制标签

if,elseif,else

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="java.util.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
    <%
        int age=18;
        request.setAttribute("age", age);
    %>

    <s:if test="#request.age>18">
        已经成年
    </s:if>
    <s:elseif test="#request.age<18">
        还没成年
    </s:elseif>
    <s:else >
        刚好年芳18
    </s:else>
</body>
</html>

iterator:用来循环输出

  |-begin:循环输出的开始下标,默认0

  |-end:循环输出的结束下标

  |-status:代表下一个要被输出的

  |-step输出的每次跳跃多少

  |-value:被遍历的对象

  |-var:代表每个取出的变量

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="java.util.*" %>
<%@ page import="com.fuwh.model.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
    <%
        List<Student> stuList=new ArrayList<Student>();
        stuList.add(new Student(1,"fuwh"));
        stuList.add(new Student(2, "zhangsan"));
        stuList.add(new Student(3, "lisi"));
        request.setAttribute("stuList", stuList);
    %>
    <table>
        <tr>
            <th>编号</th>
            <th>学号</th>
            <th>名字</th>
        </tr>
        <s:iterator value="#request.stuList" var="student" status="status">
        <tr>
            <td><s:property value="#status。index+1"/></td>
            <td><s:property value="#request.student.id"/></td>
            <td><s:property value="#request.student.name"/></td>
        </tr>
        </s:iterator>
    </table>

</body>
</html>

append:把输出的对象叠加起来

  |-var:代表叠加后的对象名

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="java.util.*" %>
<%@ page import="com.fuwh.model.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Insert title here</title>
</head>
<body>
    <%
        List<Student> stuList=new ArrayList<Student>();
        stuList.add(new Student(1,"fuwh"));
        stuList.add(new Student(2, "zhangsan"));
        stuList.add(new Student(3, "lisi"));
        request.setAttribute("stuList", stuList);
        List<Student> stuList2=new ArrayList<Student>();
        stuList2.add(new Student(1,"fuwh"));
        stuList2.add(new Student(2, "zhangsan"));
        stuList2.add(new Student(3, "lisi"));
        request.setAttribute("stuList2", stuList2);
    %>
    <s:append var="stuList3">
        <s:param value="#request.stuList"></s:param>
        <s:param value="#request.stuList2"></s:param>
    </s:append>
    <table>
        <tr>
            <th>编号</th>
            <th>学号</th>
            <th>名字</th>
        </tr>
        <s:iterator value="stuList3" var="student" status="status">
        <tr>
            <td><s:property value="#status.index+1"/></td>
            <td><s:property value="id"/></td>
            <td><s:property value="name"/></td>
        </tr>
        </s:iterator>
    </table>

</body>
</html>

generator标签

  用来分割生成一个迭代输出器。

Merge标签

  用来组合

Sort标签

  排序标签

Subset标签

  截取

界面标签

  Form标签

  Text标签

  

  Radio标签

  Checkboxlist标签

  Select标签

其他标签

时间: 2024-10-27 06:42:07

Struts2--标签tag的相关文章

struts2 官方系列教程三:使用struts2 标签 tag

避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本教材假定你已完成了HelloWorld项目,你可以在 struts2 官方系列教程三:使用struts2 标签 tag 下载本章节的代码 在上一节教程中,我们在index.jsp中使用 url tag 创建了一个超链接hello.action 这节我们将探索struts2中其它tags Web应用程

struts2 自定义tag标签

在项目中可能有很多相同的jsp页面表示功能,这时可以使用自定义的tag进行定义,渐少重复的工作量便于日后维护! 下面就基于struts2进行自定义标签的定义与实现: 首先:自定义类MyTag继承struts2的Component package cookielogin; import java.io.IOException; import java.io.Writer; import org.apache.struts2.components.Component; import com.open

[Java]Struts2标签

http://www.open-open.com/lib/view/open1331393920452.html Struts2常用标签总结 一 介绍 1.Struts2的作用    Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.     Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依

【Struts2标签的使用和具体事项总结】

Struts2常用标签总结 一 介绍 1.Struts2的作用     Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.     Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用.包括最常用的jsp页面,也

struts2标签库详解

原文:struts2标签库详解 源代码下载地址:http://www.zuidaima.com/share/1781606927846400.htm 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri="/struts-tags" %> If elseif  else 描述: 执行基本的条件流转. 参数: 名称 必需 默认 类型 描述 备注 test 是 bo

struts2 标签介绍

计应134班(实验班) 陈兴 Struts2常用标签总结一 介绍1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求. Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签,可以在各种表现技术中使用.包括最常用的js

OGNL和EL表达式对比 Struts2标签和JSTL对比

本人发现Struts2中的标签和OGNL表达式,和Hibernate中用到的EL表达式和JSTL有一定的相似之处,对比学习会更加清晰,所以加以对比,以加深记忆. OGNL(Object-Graph Navigation Language)对象图导航语言 OGNL表达式访问值栈: 1. 值栈(Value Stack),可以理解为一个 存储数据的Map,主要存储了当前action 的 实例.所以就可以使用OGNL访问值栈中的内容,也就是action的属性 2.OGNL表达式通过getter方法 来访

(五)Struts2 标签

所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:Struts2 标签简介 Struts2 自己封装了一套标签,比JSTL 强大,而且与Struts2 中的其他功能无缝结合. 当然Strust2 标签的内容很多,随着版本的升级,标签和属性越来越多.我们要掌握好核心标签及了解其他标签. 根据功能可以分为:数据标签,控制标签,界面标签,其他标签. 第二节:Struts2 数据标签 Property 标签:输出OGNL 表达

18.如何自学Struts2之Struts2标签和集成初略总结篇

18.如何自学Struts2之Struts2标签和集成初略总结篇[视频] 之前写了一篇"打算做一个视频教程探讨如何自学计算机相关的技术",优酷上传不了,只好传到百度云上: http://pan.baidu.com/s/1kTDsa95 有问题可以直接回复这篇文章.

Struts2标签小结

前边总结Struts2的时候将标签这一部分给丢了,当时因为开发的时候很少使用,这里简单总结一下.先看一下Struts2标签的分类吧.然后分类总结一下即可. 由于控制标签用的比较多,所以放在了前边.好首先看一下控制标签吧. 一,控制标签,JSTL大家应该都使用过,其实Struts2的控制标签和那个特别像的,主要是对EL表达式满足不了的进行补充使用.这里简单看一下吧: 1, if--elseif--else,用来控制选择输出的标签: <html xmlns="http://www.w3.org