版权声明:本文为博主原创文章,未经博主允许不得转载。

Struts2可以将所有标签分成3类:

准备工作:需要在JSP页面引入标签库

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

1.<s:set/>标签

<!-- 用法一 相当于 ActionContext.getContext().put(key, value) -->
<s:set name="name" value="'caoyc'"/> <!-- 这里name是字符串形式,所有value值需要加单引号 ,如果不加单引号,该变量的值为null-->
<s:set name="age" value="20"></s:set>
<s:property value="#name"/>
<s:property value="#age"/> <!-- 用法二 指定scope范围 :application、session、request、page或action--><br/>
<s:set name="name2" value="'zhh'" scope="request"/> <!-- 相当于ServletActionContext.getRequest().setAttribute("name2", "zhh") -->
<s:property value="#request.name2"/>

2.<s:property/>标签

(1)从Action栈中的属性获取,要求有getXXX()方法

<s:property value="name"/>

(2)从Action栈中获取对象的属性,要求为该对象属性获取getXXX方法

<s:property value="user.name"/>

(3)访问Action栈中对象方法

<s:property value="user.toString()"/>

(4)访问Action的普通方法

<s:property value="methodName()"/>

(5)访问list集合第一个元素的name属性

<s:property value="#list[0].name"/>

(6)根据key访问Map中的元素

<s:property value="mapName.username"/>
<s:property value="mapName['username']"/>
<s:property value="mapName[/"username/"]"/>

(7)访问request中请求的参数

<s:property value="#parameters.username"/>
<s:property value="#parameters['username']"/>

3、<s:if><s:elseif></s:else>标签

<s:set name="level" value="20 "/>
<s:if test="#level<=12">
小学
</s:if>
<s:elseif test="#level>12 && #level<=15">
初中
</s:elseif>
<s:elseif test="#level>15 && #level<=18">
高中
</s:elseif>
<s:elseif test="#level>18 && #level<=24">
大学
</s:elseif>
<s:else>
硕士及其以上
</s:else>

4、<s:iterator>标签

方式一:这种方式:每当迭代一次,struts就会将迭代器当前对象添加到Root栈的栈顶,所以可以直接通过属性名,访问该对象的属性,每次迭代完后该对象就会自动消失

<s:iterator value="persons">
<s:property value="name"/>
<s:property value="age"/>
</s:iterator>

方式二:指定了var属性,同样会在Root栈的栈顶添加该对象,同时也会复制一份到ActionContext对象中,所以可以通过下面方式访问

<s:iterator value="persons" var="p">
<s:property value="#p.name"/> <!-- 通过ActionComtext方法 -->
<s:property value="age"/> <!-- 通过Root栈访问 -->
</s:iterator>

struts2 常用标签的更多相关文章

  1. Struts2常用标签

    Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...

  2. struts2常用标签详解(申明:来源于网络)

    struts2常用标签详解(申明:来源于网络) 地址:http://blessht.iteye.com/blog/1184960

  3. Struts2常用标签总结(申明:来源于网络)

    Struts2常用标签总结(申明:来源于网络) 地址:http://jimingsong.iteye.com/blog/1582939

  4. Struts2常用标签总结

    Struts2常用标签总结 一 介绍 1.Struts2的作用 Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的 ...

  5. struts2常用标签之数据标签

    数据标签1  property标签  property标签的主要属性:  value:用来获取值的OGNL表达式,如果value属性值没有指定,那么将会被设定为top,也就是返回位于值栈最顶端的对象. ...

  6. struts2常用标签使用说明

    在struts2中,用的是s标记,先在jsp文件中引入标记:<%@ taglib prefix="s" uri="/struts-tags"%> & ...

  7. STRUTS2 常用标签的使用

    <body> <h1>s:if标签的用法</h1> <s:set name="price" value="25"> ...

  8. struct2常用标签

    Struts2常用标签总结 一 介绍 1.Struts2的作用    Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了 ...

  9. struts2视频学习笔记 29-30(Struts 2常用标签,防止表单重复提交)

    课时28 Struts 2常用标签解说 property标签 property标签用于输出指定值: <s:set name="name" value="'kk'&q ...

随机推荐

  1. 删除Kali Linux多余的系统架构

    删除Kali Linux多余的系统架构   现在大家通常安装的都是Kali Linux 64位操作系统,其架构为amd64.如果要安装运行32位的程序(如wine32),则必须添加32位架构i386. ...

  2. Knockout.js(一):简介

    Knockout是一款很优秀的JavaScript库,通过应用MVVM模式使JavaScript前端UI简单化.任何时候你的局部UI内容需要自动更新,KO都可以很简单的帮你实现,并且非常易于维护. K ...

  3. [CODE FESTIVAL 2017]Poor Penguin

    题意:在一个$n\times m$的网格上,每个格子是薄冰或冰山(网格外什么都没有),有一片薄冰上站着一只企鹅,对于薄冰$(i,j)$,如果不满足($(i-1,j),(i+1,j)$都有东西或$(i, ...

  4. [转] Spring@Autowired注解与自动装配

    1   配置文件的方法 我们编写spring 框架的代码时候.一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量.并且要配套写上 get 和 set方法. Boss ...

  5. new placement 的使用

    #include <iostream> #include "TModel.h" int main() { ]; std::cout<<"Sourc ...

  6. 手机APP上中下三层

    代码如下: <template> <div class="container" id="app"> <header> < ...

  7. String格式化参数整理

    Java String格式话参数整理如下: conversion:转换格式,可选的格式有: d 整数型(十进制) c Unicode字符 b Boolean值 s String f 浮点数(十进制) ...

  8. [Android Pro] android中permission_group与permisson区别、作用

    转载:http://blog.csdn.net/feng88724/article/details/6409313 其实Android在定义 permission 时, 为每个Permission都进 ...

  9. C# 秒数转日期_由秒数得到日期几天几小时_当前日期时间,转换为秒

    ///<summary> ///由秒数得到日期几天几小时... ///</summary ///<param name="t">秒数</para ...

  10. 如何在 MyEclipse 下用 Gradle 构建 Web Application

    一.安装 Gradle 插件,参考我的另一篇文章:MyEclipse 集成 Gradle开发环境 二.新建一个 Web Project, 在项目根目录下新建 build.gradle 文件, 并向其中 ...