前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(18)Struts2_通用标签

(18)Struts2_通用标签

作者头像
qubianzhong
发布2018-09-19 13:34:21
4560
发布2018-09-19 13:34:21
举报
文章被收录于专栏:行者常至行者常至

Struts2_通用标签


property 标签

property 标签用来输出一个值栈属性的值
  • default [String] 可选 默认:,如果value值为null或没有给定,将显示该属性值
  • escape [Boolean]

属性

类型

默认值

说明

default

String

可选,如果value值为null或没有给定,将显示该属性值

escape

Boolean

true

可选,是否要对HTML特殊字符进行转义

value

String

<来自栈顶对象>

将要显示的值

示例:
输出 Action 属性 customerId 的值: <s:property value="customerId"/>
输出 session 属性 userName 的值: <s:property value="#session.userName"/>
在许多情况下, JSP EL 可以提供更简洁的语法

url 标签

这里写图片描述
这里写图片描述
代码语言:javascript
复制
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>

    <s:debug></s:debug>

    <!-- action:指定生成的url为哪个action ; var:指定用来被压入ContextMap中的键值-->
    <s:url action="czy_save" var="url"></s:url>
    ${url } <br><br><br><br>

    <s:url action="czy_save" var="url1">
        <s:param name="dlh" value="54110"></s:param>
    </s:url>
    ${url1 } <br><br><br><br>

    <s:url action="czy_save" var="url2">
        <s:param name="dlh" value="54110"></s:param>
        <!-- 对于非数字的value值,会自动进行OGNL解析 -->
        <s:param name="request" value="request"></s:param>
        <!-- 对于OGNL解析后不存在的value将不做处理 -->
        <s:param name="name" value="tom"></s:param>
        <!-- 若不希望解析可使用单引号 -->
        <s:param name="hobby" value="'reading'"></s:param>
    </s:url>
    ${url2 } <br><br><br><br>

    <s:url action="czy_save" var="url3" includeParams="all">
    </s:url>
    ${url3 } <br><br><br><br>

    <s:url action="czy_save" var="url4" namespace="/user" method="save">
    </s:url>
    ${url4 } <br><br>


</body>
</html>

这里写图片描述
这里写图片描述

set 标签

向page、request、session、application 域对象中加入一个属性值。
代码语言:javascript
复制
    <s:set name="xuehao" value="541107030" scope="request"></s:set>
    ${requestScope.xuehao }<br><br>
    <!-- 对于非数字的value值,会自动进行OGNL解析 -->
    <s:set name="banji" value="likesheng" scope="request"></s:set>
    ${requestScope.banji }<br><br>
这里写图片描述
这里写图片描述

push 标签

push 标签将把一个对象压入 ValueStack 而不是压入 ContextMap.
push 标签在标签起始时把一个对象压入栈, 标签结束时将对象弹出栈.

名字

类型

默认值

说明

value

String

将被压入Value Stack栈的值

代码语言:javascript
复制
    <%
    Person p = new Person("tom",24);
    request.setAttribute("person", p);
    %>
    <s:push value="#request.person">
    姓名:${name }<br>
    </s:push>
    姓名:${name }
这里写图片描述
这里写图片描述

if, else 和 elseif 标签

这三个标签用来进行条件测试, 它们的用途和用法类似于 if, else 和 elseif 关键字. 其中 if 和 elseif 必须有 test 属性

名称

类型

默认值

说明

test

Boolean

测试条件

代码语言:javascript
复制
     <s:if test="age>65">
        老年
    </s:if>
    <s:elseif test="age>40">
        中年
    </s:elseif>
    <s:elseif test="age>18">
        青年
    </s:elseif>
    <s:else>
        少年
    </s:else>

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

iterator 标签

iterator 标签用来遍历一个数组, Collection 或一个 Map, 并把这个可遍历对象里的每一个元素依次压入和弹出 ValueStack 栈
代码语言:javascript
复制
    <%
    List<Person> persons = new ArrayList<Person>();
    persons.add(new Person("A",10));
    persons.add(new Person("B",20));
    persons.add(new Person("C",30));
    persons.add(new Person("D",40));
    persons.add(new Person("E",50));

     request.setAttribute("persons", persons);
     %>

     <s:iterator value="#request.persons" status="s">
        name--${name }--index--${s.index}--age--${age }--${s.count }<br>
     </s:iterator>

这里写图片描述
这里写图片描述

名字

类型

默认值

说明

value

String

将被遍历的可遍历对象

status

org.apache.struts2.views.jsp.IteratorStatus

var

String

用来引用这个可遍历对象中的当前元素的变量

iterator 标签的 status 属性的属性值

这里写图片描述
这里写图片描述

sort 标签

sort 标签用来对一个可遍历对象里的元素进行排序.

名字

类型

默认值

说明

comparator

java.util.Comparator

在排序过程中使用的比较器

source

String

将对之进行排序的可遍历对象

var

String

用来引用因排序而新生成的可遍历对象的变量

代码语言:javascript
复制
    <%
    List<Person> persons = new ArrayList<Person>();
    persons.add(new Person("A",10));
    persons.add(new Person("D",40));
    persons.add(new Person("B",20));
    persons.add(new Person("E",50));
    persons.add(new Person("C",30));

     request.setAttribute("persons", persons);
     %>

     <s:iterator value="#request.persons" status="s">
        name--${name }--index--${s.index}--age--${age }--${s.count }<br>
     </s:iterator>
     <br><br>
     <!-- s:sort 可以对集合中的元素进行排序 -->
     <%
        PersonComparator pc = new PersonComparator();
        request.setAttribute("comparator", pc);
      %>
      <s:sort comparator="#request.comparator" source="#request.persons" var="person_">
        <s:iterator value="#attr.person_">
            ${name }--${age } <br>
        </s:iterator>
      </s:sort>

代码语言:javascript
复制
package com.qbz.struts2_02;

import java.util.Comparator;

public class PersonComparator implements Comparator<Person> {

    @Override
    public int compare(Person o1, Person o2) {
        return o1.getName().compareTo(o2.getName());
    }

}

这里写图片描述
这里写图片描述

date 标签

date 标签用来对 Date 对象进行排版
这里写图片描述
这里写图片描述
format 属性的值必须是 java.text.SimpleDateFormat 类里定义的日期/时间格式之一.
代码语言:javascript
复制
 <!-- date 标签 -->
      <s:date name="#session.date" format="yyyy-MM-dd hh:mm:ss" var="data_"/>
      ${data_ }

这里写图片描述
这里写图片描述

a 标签

a 标签将呈现为一个 HTML 连接. 这个标签可以接受 HTML 语言中的 a 元素所能接受的所有属性.
代码语言:javascript
复制
     <s:iterator value="#request.persons">
         <!-- href中对name进行强制OGNL解析  %{} -->
        <s:a href="getPerson.action?name=%{name}">${name }</s:a><br>
     </s:iterator>
这里写图片描述
这里写图片描述

以下标签不常用,了解。

action 标签

action 标签用在页面上来执行一个 action.
action 标签还会把当前 Action 对象压入 ValueStack 值栈的 ContextMap 子栈.
这里写图片描述
这里写图片描述

bean 标签

bean 标签将创建一个 JavaBean, 并把它压入 ValueStack 值栈的 ContextMap 子栈. 这个标签的功能与 JSP 中的 useBean 动作元素很相似
这里写图片描述
这里写图片描述

include 标签

include 标签用来把一个 Servlet 或 JSP 页面的输出包含到当前页面里来.
这里写图片描述
这里写图片描述

append, merge 标签

append 标签用来合并可遍历对象
merge 标签用来交替合并可遍历对象
这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述

generator 标签

generator 标签用来生成一个可遍历对象并把它压入 ValueStack 栈.
generator 标签结束标记将弹出遍历对象
这里写图片描述
这里写图片描述
如果在一个 generator 标签里给出了 converter 属性, 新生成的可遍历对象里的每一个元素都会传递到该属性所指定的方法进行必要的转换.
这里写图片描述
这里写图片描述

subset 标签

subset 标签用来创建一个可遍历集合的子集.
subset 标签通过 decider 属性来创建一个可遍历集合的子集
这里写图片描述
这里写图片描述

这里写图片描述
这里写图片描述

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年09月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Struts2_通用标签
    • property 标签
      • property 标签用来输出一个值栈属性的值
      • 示例:
      • 输出 Action 属性 customerId 的值: <s:property value="customerId"/>
      • 输出 session 属性 userName 的值: <s:property value="#session.userName"/>
      • 在许多情况下, JSP EL 可以提供更简洁的语法
    • url 标签
      • set 标签
        • 向page、request、session、application 域对象中加入一个属性值。
      • push 标签
        • push 标签将把一个对象压入 ValueStack 而不是压入 ContextMap.
        • push 标签在标签起始时把一个对象压入栈, 标签结束时将对象弹出栈.
      • if, else 和 elseif 标签
        • 这三个标签用来进行条件测试, 它们的用途和用法类似于 if, else 和 elseif 关键字. 其中 if 和 elseif 必须有 test 属性
      • iterator 标签
        • iterator 标签用来遍历一个数组, Collection 或一个 Map, 并把这个可遍历对象里的每一个元素依次压入和弹出 ValueStack 栈
        • iterator 标签的 status 属性的属性值
      • sort 标签
        • sort 标签用来对一个可遍历对象里的元素进行排序.
      • date 标签
        • date 标签用来对 Date 对象进行排版
        • format 属性的值必须是 java.text.SimpleDateFormat 类里定义的日期/时间格式之一.
      • a 标签
        • a 标签将呈现为一个 HTML 连接. 这个标签可以接受 HTML 语言中的 a 元素所能接受的所有属性.
        • 以下标签不常用,了解。
      • action 标签
        • action 标签用在页面上来执行一个 action.
        • action 标签还会把当前 Action 对象压入 ValueStack 值栈的 ContextMap 子栈.
      • bean 标签
        • bean 标签将创建一个 JavaBean, 并把它压入 ValueStack 值栈的 ContextMap 子栈. 这个标签的功能与 JSP 中的 useBean 动作元素很相似
      • include 标签
        • include 标签用来把一个 Servlet 或 JSP 页面的输出包含到当前页面里来.
      • append, merge 标签
        • append 标签用来合并可遍历对象
        • merge 标签用来交替合并可遍历对象
      • generator 标签
        • generator 标签用来生成一个可遍历对象并把它压入 ValueStack 栈.
        • generator 标签结束标记将弹出遍历对象
        • 如果在一个 generator 标签里给出了 converter 属性, 新生成的可遍历对象里的每一个元素都会传递到该属性所指定的方法进行必要的转换.
      • subset 标签
        • subset 标签用来创建一个可遍历集合的子集.
        • subset 标签通过 decider 属性来创建一个可遍历集合的子集
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档