7.Struts 2标签

目录


Struts 2专栏目录(点击进入…)



Struts 2标签

Struts 2标签提供了功能强大的标签库,并且远远超出了传统标签库的基本功能:数据显示和数据输出。

Struts 2标签主要分为两类:
①UI标签(UI Tag)
②通用标签(Generic Tag)

Struts 2标签在使用时,首先需要进行标签库的导入,导入语法与使用JSTL标签相同,在JSP页面中导入Struts 2标签库,语法:

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

(1)UI标签

Struts 2的UI标签可分为三类:表单标签、非表单标签、Ajax标签

表单标签

有name、label、list等属性

标签描述
<s:from> </s:from>获取相应from的值
<s:textfieId> </s:textfieId>文本输入框
<s:password> </s:password>密码输入框
<s:textarea> </s:textarea>文本域输入框
<s:radio> </s:radio>单选按钮
<s:checkbox> </s:checkbox>复选框
<s:submit/>提交按钮
<s:reset/>重置按钮
<s:hidden/>隐藏域标签

1、要使用标签,必须修改web.xml,让控制器拦截所有请求

<url-pattern>/*</url-pattern>

2、Struts 2提供了功能强大的标签库,JSP页面导入标签库:

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

3、设置用户界面主题,默认值为xhtml风格

<constant name="struts.ui.theme" value="simple"/>

非表单标签

标签描述
actionerror用于输出Action实例的getActionErrors()方法返回的错误提示信息
actionmessage用于输出Action实例的getActionMessage()方法返回的错误提示信息
component用于生成一个自定义组件
tree用于生成一个树状结构
treenode用于生成树状结构的节点,与tree标签一起使用

Ajax标签

Struts 2对Ajax提供了很好的支持
Struts 2.1提供了基于Dojo的Ajax标签,对Ajax操作进行了进步封装,可以更快捷容易的使用Ajax

Ajax标签描述
<sx:div>创建一个div区域,可以通过Ajax向其中加载内容,以实现局部刷新
<sx:submit>通过Ajax来更新某个元素的内容或提交表单
<sx:a>通过Ajax来更新某个元素的内容或提交表单
<sx:tabbedPanel>创建一个标签面板,由<s:div>来提供内容
<sx:autocompleter>根据用户输入提供输入建议,或者帮助用户自动完成输入
<sx:tree>创建一个支持Ajax的树形组件(Widget)

使用Struts 2.1的Ajax标签前必须进行如下操作

  1. 将struts2-dojo-plugin-2.1.x.x.jar复制到WEB-INF\lib目录
  2. 在JSP页面中导入Ajax标签
<!-- 引入Ajax标签 -->
<%@ taglib uri="/struts-dojo-tags" prefix="sx"%>
  1. 在JSP页面中加入head标签,负责在页面上导入Dojo所需要的CSS库和JavaScript库
<head>
	<!-- 在JSP页面中加入head标签负责在页面上导入Dojo所需要的CSS库和JavaScript库 -->
	<sx:head />
</head>

通用标签

条件标签
根据表达式的值,判断将要执行的内容

<s:if> </s:if>	
<s:elseif> </s:elseif>	
<s:else> </s:else>	

迭代标签
用于遍历集合

<s:iterator> </s:iterator>

1.if/elseif/else标签

都是进行条件判断、分支控制标签;只有if标签可以单独使用
三个标签可以组合使用,但是<s:elseif ……/>标签与<s:else ……/>标签不能独立使用,必须与<s:if>标签结合使用
<s:if>可以与多个<s:elseif>结合使用,但是只能与一个<s:else>结合在一起

<s:if test=”表达式”> 
	<!-- 需要执行的代码 -->
</s:if>
<s:elseif test=”表达式”>
	<!-- 需要执行的代码 -->
</s:elseif>
<s:else test=”表达式”> 
	<!-- 需要执行的代码 -->
</s:else>

2.iterator迭代标签

语法:

<s:iterator value=”集合对象” status=”status” id=”name”>
	<!-- 读取集合对象并输出显示 -->
</s:iterator>
iterator属性描述
value需要进行遍历的集合对象
status当前迭代元素的一个实例,通过该属性可以判断当前迭代元素的属性,如元素的索引
id当前迭代元素的id,通过这个id可以直接访问到当前的迭代元素
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未禾

您的支持是我最宝贵的财富!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值