一、beanwrite标签
action中在request范围中设置了以下属性
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
request.setAttribute("name", "bird");
request.setAttribute("name1", "<font color='red'>bird</font>");
request.setAttribute("date", new Date());
request.setAttribute("decimal", 1234567.123);
//设置关联对象,Student类中有Clazz类属性
Clazz c = new Clazz();
c.setCname("class");
Student s = new Student();
s.setAge(20);
s.setName("xxx");
s.setClasses(c);
request.setAttribute("student", s);
return mapping.findForward("success");}
返回到jsp页面用beanwrite标签进行显示
<%@taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %>
<h1>BeanWrite标签测试</h1>
//name属性表示范围中的属性名
<bean:write name="name"/><br/>
//当属性值中含有html标签是,可以配置filter="false"让其对标签进行解释,默认配置为true
<bean:write name="name1" filter="false"/><br/>
//未经格式化的日期显示
<bean:write name="date" /><br/>
//格式化日期
<bean:write name="date" format="yyyy-MM-dd"/>
<bean:write name="decimal" /><br/>
//格式化小数,显示3位一个逗号
<bean:write name="decimal" format="###,###.####"/><br>
//小数位用0格式化,如果原来的小数位不够则会在后面补0
<bean:write name="decimal" format="###,###.0000"/><br>
//如果属性是一个对象要输出对象的某些属性,可以配置property,指定要输出的属性(前提是该属性要在类中有对应的get方法)
<bean:write name="student" property="name"/><br>
<bean:write name="student" property="age"/><br>
//一个类中若含有另一个类属性,想要输出另一个类中的属性可以直接用.导航
<bean:write name="student" property="classes.cname"/>
二、logic标签(逻辑判断)
action中在request范围设置的属性
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
request.setAttribute("a", null);
request.setAttribute("b", "");
request.setAttribute("c", new ArrayList());
return mapping.findForward("success");
}
返回jsp页面用logic标签进行逻辑判断
<%@taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %>
<h1>测试logic标签</h1><br><hr>
<!-- 当一个属性设置为null时,判断结果为empty, not present -->
<logic:empty name="a"> a is empty <br> </logic:empty>
<logic:notEmpty name="a"> a is not empty<br> </logic:notEmpty>
<logic:present name="a"> a is present <br> </logic:present>
<logic:notPresent name="a"> a is not present <br></logic:notPresent>
<!-- 当一个属性设置为""(空字符串)时,判断结果为empty ,present -->
<logic:empty name="b"> b is empty <br> </logic:empty>
<logic:notEmpty name="b"> b is not empty<br> </logic:notEmpty>
<logic:present name="b"> b is present <br> </logic:present>
<logic:notPresent name="b"> b is not present <br></logic:notPresent>
<!-- 当一个属性设置为一个空集合是,判断结果为empty,prensent -->
<logic:empty name="c"> c is empty <br> </logic:empty>
<logic:notEmpty name="c"> c is not empty<br> </logic:notEmpty>
<logic:present name="c"> c is present <br> </logic:present>
<logic:notPresent name="c"> c is not present <br></logic:notPresent>
<!-- 当在任何范围都未设置该属性时,判断结果为empty,not present -->
<logic:empty name="d"> d is empty <br> </logic:empty>
<logic:notEmpty name="d"> d is not empty<br> </logic:notEmpty>
<logic:present name="d"> d is present <br> </logic:present>
<logic:notPresent name="d"> d is not present <br></logic:notPresent>
三、iterator标签(迭代输出)
action中在request范围设置一个list属性
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
List<Student> list = new ArrayList<Student>();
Clazz c = new Clazz();
c.setCname("class");
for(int i=0;i<5;i++){
Student s = new Student();
s.setAge(20+i);
s.setName("student"+i);
//设置一个学生所属的班级
s.setClasses(c);
list.add(s);
}
request.setAttribute("list", list);
return mapping.findForward("success");
}
jsp页面逻辑判断输出
<%@taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %>
<%@taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %>
<logic:empty name="list">
没有可以输出的信息<br>
</logic:empty>
<logic:notEmpty name="list">
//id属性为list集合中的当前元素起一个别名
<logic:iterate id="li" name="list">
<bean:write name="li" property="name"/>
<bean:write name="li" property="age"/>
<bean:write name="li" property="classes.cname"/><br/>
</logic:iterate>
</logic:notEmpty>
分享到:
相关推荐
Struts1.x标签库是Apache Jakarta Struts框架的一部分,它为开发Java Web应用程序提供了一组丰富的标签,使得开发者能够更方便地处理常见的Web界面任务。这些标签被组织成五个主要的标签库,分别是Bean Tags、...
标题提到的"扩展Struts1.x标签"指的是开发者根据项目需求自定义了Struts1.x的标签库,增加了新的功能,例如Select和Table标签。 1. **Select标签**: Select标签是用于在HTML表单中创建下拉选择框的。原生的Struts...
Struts1.x 标签库详解 Struts1.x 标签库是 Apache Jakarta 项目的一部分,目标是为构建基于 Java 的 web 应用程序提供一个框架。Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:Bean ...
Struts1.x标签库主要分为以下几个部分: 1. **ActionForm标签**:这些标签用于与ActionForm对象交互,如`<html:form>`用于创建表单,`<html:text>`、`<html:password>`等则用于创建表单字段,与ActionForm的属性...
- **Struts1.x** 视图通常使用JSP,而模型数据通过ValueStack传递,需要使用Struts标签库来访问。 - **Struts2.x** 支持多种视图技术,如JSP、FreeMarker、Velocity等,且可以直接通过OGNL表达式在视图中访问数据...
### Struts1.x 标签详解 #### 一、引言 Struts 是 Apache Jakarta 的一个著名开源项目,旨在为构建基于 Java 的 Web 应用程序提供一个强大的框架。Struts 提供了大量的标签来帮助开发者简化开发过程。本文将详细...
9. **Plug-in架构**:Struts1.x具有强大的插件扩展能力,允许开发者添加自定义的拦截器(Interceptor)、标签库等,以满足项目特殊需求。 10. **预定义的结果类型**:Struts1.x定义了一些预设的Action结果类型,如...
### Struts1.x与Struts2.x的主要区别 在深入探讨Struts1.x与Struts2.x的区别之前,我们先来了解一下这两个框架的基本背景。Apache Struts是用于构建企业级Web应用程序的开源框架,它提供了MVC(模型-视图-控制器)...
Struts1.x标签库是基于JSP自定义标签的集合,它们与标准JSP标签相比,更具有针对性和易用性,特别是对于处理表单、链接、消息显示等常见Web交互场景。这些标签与Struts的动作框架紧密集成,使得开发者可以更容易地...
5. **JSP与标签库**:Struts1.x提供了一系列定制的JSP标签,如、等,简化了视图层的开发。JSP页面通过这些标签与ActionForm中的属性进行交互。 6. **ActionServlet**:作为Struts1.x的入口点,负责解析请求,根据...
Struts 1.x 是一个基于 Model-View-Controller (MVC) 设计模式的 Java Web 开发框架,由 Apache 软件基金会开发并维护。它在20世纪末到21世纪初广泛应用于企业级Web应用开发,因其强大的功能和良好的社区支持而受到...
Struts1.x是一款经典的Java Web框架,由Apache软件基金会开发并维护。它是MVC(Model-View-Controller)设计模式的实现,极大地简化了Java Web应用程序的开发过程。本资源集合包含了所有最新的Struts1.x项目应用,为...
Struts1.x是一个经典的Java Web开发框架,它遵循Model-View-Controller(MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用程序。在这个"Struts1.x_Project.zip"压缩包中,我们可以看到一个使用Struts1.x...
【Struts1.x入门教程】 Struts1.x是Apache Jakarta项目的一个重要组成部分,它是一个用于构建企业级Web应用程序的开源MVC框架。该框架的主要目标是简化JavaServer Pages(JSP)、Servlet和标签库的使用,同时提升...
Struts1.x是一个经典的Java Web框架,它在20世纪末至21世纪初被广泛使用,用于构建基于MVC(Model-View-Controller)架构的Web应用。本示例将探讨如何使用Struts1.x实现一个简单的登录功能。首先,我们需要理解...
Struts1.x是一个经典的Java Web框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在国际化(i18n)方面,Struts1提供了强大的支持,使得应用程序可以适应不同语言和地区的用户需求。以下是关于Struts1.x国际化...
Struts 1.x 是一个经典的Java Web开发框架,由Apache软件基金会开发,它极大地简化了MVC(模型-视图-控制器)架构的实现。如果你正在寻找如何搭建Struts 1.x的开发环境,以下是一些关键的知识点,以及这些指定的jar...
**Struts2.x与Struts1.x对比**:相较于Struts1.x,Struts2.x具有更多的优势,如不再强制要求ActionForm,配置文件更简洁,处理流程更加清晰。具体而言,请求首先被过滤器捕获,然后根据`struts.xml`文件的配置调用...
在Struts1.x中,HTML标签库提供了一系列的定制化标签,简化了视图层的开发,比如`html:radio`, `html:checkbox`, `html:multibox`和`html:select`,这些都是用来创建用户交互界面的元素,主要用于处理表单数据的输入...