标签

1. <s:property>
* default:默认值,例如:<s:property value="name" default="不存在"/>
* escape:是否转义,默认为true表示转义。<s:property value="\"<script>for(; true;)alert('hehe');</script>\""/>
* 特殊字符会被转义:<、>、"、'、&
* value:指定OGNL表达式

--------------------------

2. <s:set>:没什么用!
* var:指定变量名
* value:指定变量值,它支持ognl
* scope:指定变量的域,可选值:page、request、session、application、action(默认值为action)
* action:它与request域相似,它比request还大一点点,它不只是把变量存放到request中,还会存放到ognl上下文中。

例如:
<s:set var="name" value="#parameters.name" scope="action"/> request.setAttribute("name", request.getParameter("name"));
<s:property value="#request.name"/>
<s:property value="#name"/>

---------------------------

3. <s:push>:没什么用!
用来压栈
例如:
<s:push value="'hello'">压栈
<s:property value="top"/>使用
</s:push>弹栈

---------------------------

4. <s:url>:有用
输出url,与<c:url>相似。但<s:url>是针对action的url
<package name="xxx" namespace="/user" extends="struts-default">
<action name="user_login" class="..."/>
</package>

<c:url value="/user/user_login.action"/>
<s:url namespace="/user" action="user_login"/>

<s:url namespace="/user" action="user_login>
<s:param name="name" value="张三" />
</s:url>

---------------------------

5. <s:a>:非常重要
生成超链接,针对action的。
<s:a namespace="/user" action="user_login"/>

---------------------------

6. <s:debug>:用来测试的,查看上下文和值栈用的!
在页面中生成一个超链接,点击即可查看上下文和值栈的内容!

---------------------------

7. <s:if> <s:ifelse> <s:else>

---------------------------

8. <s:iterator/>

<%--
当指定了status属性后,会把一个循环状态对象放到上下文中
循环状态对象:
* index:当前元素的下标
* count: 循环的圈数
* even:是否为偶数圈数
* odd: 是否为奇数圈数
* first:是否为第一圈
* last:是否为最后一圈
--%>
<s:iterator value="{'zhangSan', 'liSi', 'wangWu'}" status="st">
<s:property/> --
<s:property value="#st.index"/>,
<s:property value="#st.count"/>,
<s:property value="#st.even"/>,
<s:property value="#st.odd"/>,
<s:property value="#st.first"/>,
<s:property value="#st.last"/><br/>
</s:iterator>
<%--
zhangSan -- 0,1,false,true,true,false
liSi -- 1,2,true,false,false,false
wangWu -- 2,3,false,true,false,true
--%>

============================================
============================================
============================================

表单标签
1. 好处:
* 简化代码
* 主题(这也可以说是缺点)
* 自动回显(这才我们真正使用它的原因):其实就是把ValueStack内的数据显示到表单中。

1. <s:form>
* action:与<action name>相同
* namespace:与<package namespace>相同
* theme:simple

<s:form>的method默认值为post,这个无需操心!

---------------------------------

2. <s:textfield> 简单文本框,等同与<input type="text">
3. <s:password> 密码框,等同与<input type="password">
4. <s:textarea> 文本域(多行多列),等同与<textarea>
5. <s:submit> 提交按钮,等同与<input type="submit">

---------------------------------

选择性标签

1. <s:radio>
男<input type="radio" name="xxx" value="xxx"/>
女<input type="radio" name="xxx" value="xxx"/>
<s:radio>生成一堆<input type="radio"/>
例如:<s:radion list="{'男', '女'}" name="gender"/>,它生成两个<input type="radion">,其中显示值和实际值是相同的。

如果希望显示值和实际值不同,那么需要在list属性中给出Map,而不是List
例如:<s:radio list="#{'男':'male', '女':'female'}" name="gedner"/>
显示值是male和female
实际值是“男”和“女”
2. <s:checkboxlist>
生成一大堆的<input type="checkbox">
<s:checkboxlist list="{'上网', '游泳', '看书'}"/>

3. <s:select>
生成<select>和<option>的
* headerKey:它是空项的值
* headerValue:它是空项的显示。
<s:select headerKey="" headerValue="==请选择==" list="{'小学', '没上过小学', '什么是小学'}" name="education" />

struts2框架之标签的更多相关文章

  1. Struts2框架的基本使用(三)

    上篇 Struts2框架的基本使用(二)介绍了Action和result的相关配置操作,本篇接着介绍剩下的异常处理机制和Convention插件的使用.下篇文章介绍的是Struts2框架中标签库的使用 ...

  2. Struts2框架基础概念总结

    一.struts2框架 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的 ...

  3. 基于Struts2框架实现登录案例 之 使用Struts2标签库简化表单+继承ActionSupport完成输入交验

    一,使用Struts2标签库简化表单 在文章[基于Struts2框架实现登录案例]的基础上,通过使用Struts标签库可以简化登录页面login2.jsp <%@ page language=& ...

  4. Struts2框架之-Struts2的标签

    Struts2包含哪些标签? 解答: A: <s:a href=”"></s:a>—–超链接,类似于html里的<a></a> <s:a ...

  5. struts2框架学习笔记7:struts2标签

    三大标签: 1.JSP:脚本,为了替代servlet,已过时 2.JSTL:标准标签库(core.format.sql.xml),还未淘汰的只有core库 3.Struts2标签库:由Struts2开 ...

  6. Struts2框架基础

    Struts2框架基础 1.Java的框架 1.1.框架简介 在大型项目开发过程中,经常会使用到一些框架,这样做好的好处是能够提高工作效率,在java中最常用的的框架就是SSH,这其实是三个框架的简称 ...

  7. struts2框架快速入门小案例

    struts2快速入门: index.jsp------>HelloAction--------->hello.jsp struts2流程 1.导入jar包 struts2的目录结构: a ...

  8. 搭建struts2框架

    struts是一个经典的MVC模式拦截器比过滤器拦截的力度更大 搭建struts2框架1.引入lib包 9个(2.3版本的)common-fileupload;common-io;common-lan ...

  9. struts2 s:if标签以及 #,%{},%{#}的使用方法

    <s:if>判断字符串的问题: 1.判断单个字符:<s:if test="#session.user.username=='c'"> 这样是从session ...

随机推荐

  1. java代码实现ftp服务器的文件上传和下载

    java代码实现文件上传到ftp服务器: 1:ftp服务器安装: 2:ftp服务器的配置: 启动成功: 2:客户端:代码实现文件的上传与下载: 1:依赖jar包: 2:sftpTools   工具类: ...

  2. javascript在计算浮点数(小数)不准确,解决方案

    方案来自网络,实现简单,便于做加减乘除使用,由于项目临时要用记录下 如需要更加复杂的计算类库,可以考虑 math.js等知名类库 /** * floatTool 包含加减乘除四个方法,能确保浮点数运算 ...

  3. [Android] Android 注解绑定UI View组件库 ButterKnife 的使用

    ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤.是大神JakeW ...

  4. 【三】Java VM 发展史

    1. Sun Classic VM  jdk1.0  第一款商用虚拟机. 只能使用纯解释器来运行Java代码.没有自己的判断,会把每一个方法每一行代码都编译,效率不好.导致大家普遍认为Java代码运行 ...

  5. Linux 下时间获取

    1.获得当天的日期 date +%Y-%m-%d 2.将当前日期赋值给DATE变量 DATE=$(date +%Y%m%d) 3.获取明天的日期 date -d next-day +%Y%m%d 4. ...

  6. CMD之入门篇

    本博文最早是记录在本地电脑的,由于清理电脑的缘故,顺便将这篇笔记转移到公共博客,以便日后查阅和快速上手使用. 开门见山,步入正题,以下是Windows系统的常用CMD命令. 一 文件系统操作 0.[脚 ...

  7. Simple Recurrent Unit,单循环单元

    SRU(Simple Recurrent Unit),单循环单元 src/nnet/nnet-recurrent.h 使用Tanh作为非线性单元 SRU不保留内部状态 训练时,每个训练序列以零向量开始 ...

  8. MLE

    独立同分布的采样x1,x2,…,xn,θ为模型参数,f为我们所使用的模型.参数为θ的模型f产生上述采样可表示为 f(x1,x2,…,xn|θ)=πf(xi|θ) 已知的为x1,x2,…,xn,未知为θ ...

  9. 5-5 re模块 正则表达式

    1,正则表达式 正则表达式,就是匹配字符串内容的一种规则. 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字 ...

  10. 【Thymeleaf】Thymeleaf模板对html实时刷新

    解决方案 spring: thymeleaf: cache: false 修改完html代码后Ctrl+Shift+F9,重新编译即可刷新页面内容!