Struts1之html标签
Struts1的html标签主要是为了绘制HTML页面标签元素,通过与Struts1框架的集成,增强功能
首先,在使用前,需要引入tld文件
<%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %>
标签详细讲解
html:link 对应<a>标签
首次打开,会自动生成jsessionid,如果浏览器支持cookie,会自动将jsessionid添加到cookie中,下次访问不会再次添加jsessionid了,jsessionid相当于session的一个标志。用于会话跟踪
能够对参数进行url编码,并且自动为请求添加请求后缀,如.do,.action等
<%
Map<String,String> parMap = new HashMap<>();
parMap.put("x","1");
parMap.put("y","2");
parMap.put("z","3");
request.setAttribute("parMap",parMap);
Date now = new Date();
request.setAttribute("now",now);
request.setAttribute("name","张三李四咯");
%>
<%--参数名为username,从web作用域中查找名为name的值--%>
<html:link action="/regUser" paramId="username" paramName="name">注册 - 对参数URL编码</html:link><br/>
<html:link action="/regUser" paramId="t" paramName="now" paramProperty="time">对象的某个属性作为参数</html:link><br/>
<html:link action="/regUser" name="parMap">Web作用域中的Map作为参数集合</html:link><br/>
如果需要设置的请求参数是某个对象的Map类型成员变量,则可以使用 name+property两个属性进行设置
对于生成的请求地址,会自动添加项目名与请求后缀
例如:<html:link action="/regUser">注册</html:link>
html:select 对应 select标签
html:option 生成一个option元素
html:options 生成多个option标签
html:optionsCollection 生成多个option标签
<html:select property="regUser.gender">
<c:forEach items="${requestScope.genders}" var="genderAttr">
<!-- 因为html:option只能生成一个下拉框,所以需要迭代 -->
<html:option value="${genderAttr.value}" key="${genderAttr.key}"/>
</c:forEach>
</html:select> <html:select property="regUser.gender">
<html:options collection="genders" labelProperty="value" property="key"/>
</html:select> <html:select property="regUser.gender">
<html:optionsCollection name="genders" label="value" value="key"/>
</html:select>
说明:regUser.gender 表示提交的请求中接收参数的变量;genders是上一个Action中传递过来的下拉列表对象;value用于显示;
key作为传递值 value与key是不固定的。都是genders集合对象中的变量
对于html:options,还有一种用法
<%
List colorList = new ArrayList();
colorList.add(new LabelValueBean("Red", "1");
colorList.add(new LabelValueBean("Blue", "2");
%>
<html:select property="testProperty">
<html:options collection="colorList" property="label" labelProperty="value"/>
</html:select>
html:rewrite 生成一个指向Action的请求地址,自动添加请求后缀与项目名称地址
<form action="<html:rewrite action='/regUser'/> " method="post">
等价于
<form action="${pageContext.request.contextPath}/regUser.do" method="post">
html:submit 表单提交按钮
属性指定鼠标上移提示信息,bean:message指定按钮上的文字,都实现了国际化
<html:submit titleKey="info.submit" bundle="message">
<bean:message bundle="message" key="info.submit"/>
</html:submit>
html:error 错误信息的输出
<html:errors /><br/><!-- 输出全部ActionErrors信息 -->
<html:errors property="username"/><!-- 输出指定key的错误信息,注意这里的key不是资源包中的key -->
其实所谓的输出错误信息,就是从 web 作用域中获取 键 为
public static final String ERROR_KEY = "org.apache.struts.action.ERROR";
的数据
html:message 输出普通信息
public static final String MESSAGE_KEY = "org.apache.struts.action.ACTION_MESSAGE"; 获取Web作用域中此 键 对应的值
html:form 生成表单
Action属性值会自动添加项目名与请求后缀
html:text 表单文本输入域
<html:text property="regUser.username"/>
html:password 表单密码输入
<html:password property="regUser.password" value=""/>
html:cancel 取消
<html:cancel>取消</html:cancel>
html:checkbox 一个选择框
java:private boolean autoLogin;
jsp:<html:checkbox property="autoLogin">两周内自动登录?</html:checkbox>
注意在ActionForm中使用reset方法将autoLogin初始化为false
之所以要这么做,是因为如果未对复选框进行勾选,默认并不是传递false,而是传递原先的值。这就导致永远为true,所以需要reset为false
如果ActionForm的作用域是request,则可以不reset,因为每次请求都是一个新的FormBean
html:multibox 复选框
与checkbox的区别在于,checkbox对应的是JavaBean中的boolean类型,multibox对应的是JavaBean中的String[]类型
一般,如果需要接收的参数是一个布尔值类型,会使用html:checkbox,如果需要接收的参数是一组数据,就会采用html:multibox
<html:multibox property="regUser.specialities"/>
两种复选框标签都有回显功能
一般会使用循环迭代生成一组复选框标签
<c:forEach items="${requestScope.specialities}" var="att">
<html:multibox property="regUser.specialities" value="${att.id}"/>${att.value}
</c:forEach>
Struts1之html标签的更多相关文章
- struts1使用select标签
今天使用struts1标签的时候总是出错,后来查了一下,好像不能和什么标签混用.就只用了html原来的标签实现 <select name="newsType_id"> ...
- Struts1.3——Struts标签
1.struts标签的介绍 Struts框架提供了一组非常丰富的框架组件,同时也提供了一组标签库用于和这些组件交互,主要介绍以下三类: html标签 bean标签 logic标签 2.Html标签库 ...
- struts1四:常用标签
struts1支持的5种标签: HTML 标签: 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单 Bean 标签: 在访问JavaBeans 及其属性,以及定义一个 ...
- Struts1之logic标签
logic是Struts1中的逻辑标签 <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-l ...
- Struts1 的html标签的具体解说与使用
<html:form> 标签 <html:form>用来创建表单.<html:form>必须包括一个action属性,否则JSP会抛出一个异常. 经常使用的属性有下 ...
- Struts1之bean标签
用于输出 <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %> ...
- 小学生之浅谈Struts2与struts1的运行机制
Struts1工作原理图: 1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(s ...
- struts1配置文件之input
<action path="/*Person" type="cn.itcast.PersonAction" scope="request&quo ...
- Struts2之Struts2的标签库
前言: Struts2提供了大量的标签 ,用来帮助开发表现层页面,这些表现一方面解决了美观性的需求,因为它们具有html标签一样的外观,另一方面它们解决了功能性的需求, 因为它们具有jsp脚本一样的逻 ...
随机推荐
- Git配置技巧及常用命令总结
如果你想精通Git,直接到 Git官网 把这本ProGit掌握已足以Pro Git 配置用户信息 user和email,--global参数全局配置,当然你也可以不加此参数,不同的项目用不同的用户名和 ...
- php面向对象基础知识整理之类中的属性和方法的使用
<?php /** * class Index * 类包含什么 * 1.创建类 * 2.类的属性和类中方法 * 3.类中访问修饰符 * 4.类的封装.继承.多态 */ // 创建类,创建的类名是 ...
- 10.1.5 Comment类型【JavaScript高级程序设计第三版】
注释在DOM中是通过Comment 类型来表示的.Comment 节点具有下列特征: nodeType 的值为8: nodeName 的值为"#comment": nodeValu ...
- 学习新框架laravel 5.6 (第一天)
学习新框架第一天. composer 基本命令: composer list 获取帮助信息 composer init 以交互方式填写composer.json文件信息 composer instal ...
- CentOS 同步时间的方法
与时间服务器上的时间同步的方法 1. 安装ntpdate工具 # yum -y install ntp ntpdate 2. 设置系统时间与网络时间同步 # ntpdate cn.pool.ntp ...
- python3爬虫之开篇
写在前面的话: 折腾爬虫也有一段时间了,从一开始的懵懵懂懂,到现在的有一定基础,对于这一路的跌跌撞撞,个人觉得应该留下一些文字性的东西,毕竟好记性不如烂笔头,而且毕竟这是吃饭的家伙,必须用心对待才可以 ...
- jenkins邮件发送jmeter接口测试报告
在Jenkins中配置实现邮件通知,Jenkins提供了两种方式的配置. 一种是Jenkins内置默认的邮件通知,但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容.无法定义发送邮件的格式 ...
- Kubernetes-ELK
ElasticSearch日志搜集查询和展现案例 容器中输出到控制台的日志都会以*-json.log的命名方式存储在/var/lib/container目录之下: Kubernetes采用Fluent ...
- (数据科学学习手札01)Python与R基本数据结构之异同
Python 1.列表(list) list1 = [i for i in range(10)] list1[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 特点:可遍历,可索引,可切片 ...
- JavaScript---设计模式之迭代器模式
迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该方法中的内部表示. jQuery中我们经常会用到一个each函数就是迭代器模式 作用 为遍历不同的集合结构提供一个统一的接口,从而 ...