struts标签
J2EE标签
在实际开发之中, 标签的使用顺序一般是: jstl-->EL-->struts
共有3中: 1. 自定义标签; 2. jstl标签; 3. struts标签
自定义标签因为没有统一接口, 不利于交互, 所以SUN公司推出了一套统一接口的标签--jstl标签, 用于MVC框架,
而到struts框架的时候, struts的设计者也设计了一套struts框架本身使用的标签, 在开发之中, 两种标签可以混合使用.
引入struts标签:
右键项目-->MyEclipse-->Project Facets-->Install Apache Struts(1.x) Facet, 选择1.3版本的struts标签
1. html标签
用于创建struts输入表单和用户界面, 本质上就是普通的html标签, 只是对其做了封装, 要求很严格
2. bean标签
3. logic标签
Cat.java:
private String name;
private int age;
+getter/setter方法
index.jsp:
<jsp:forward page="/WEB-INF/logic.jsp" />
logic.jsp:
引入标签库和导包:
<%@page import="com.itcast.struts.domain.Cat"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<body>
<%
Cat cat1 = new Cat();
cat1.setName("cat1");
cat1.setAge(10);
Cat cat2 = new Cat();
cat2.setName("cat2");
cat2.setAge(20);
Cat cat3 = new Cat();
cat3.setName("cat3");
cat3.setAge(30);
List<Cat> cats = new ArrayList<Cat>();
cats.add(cat1);
cats.add(cat2);
cats.add(cat3);
request.setAttribute("cats", cats);
%>
<!-- logic标签和bean标签的混合输出
logic标签, 参数说明:
id: 集合中单个对象的名字
name: 集合的名字
bean标签, 参数说明:
name: logic标签中的id值, 表示单个对象
property: 对象的属性名
-->
使用bean标签输出:<br/>
<logic:iterate id="cat" name="cats">
<bean:write name="cat" property="name"/> |
<bean:write name="cat" property="age"/><br/>
</logic:iterate>
<hr/>
<!-- 一般在开发中不使用bean标签, 因为太麻烦, 通常使用EL表达式输出 -->
使用EL表达式输出:<br/>
<logic:iterate id="cat" name="cats">
${cat.name } | ${cat.age }<br/>
</logic:iterate>
<hr/>
<!-- 判断是否为空 -->
<logic:empty name="ee">
ee属性不存在
</logic:empty>
<br/>
<logic:notEmpty name="cat">
cat属性存在
</logic:notEmpty>
<br/>
<!-- 判断数值大小 -->
<logic:iterate id="cat" name="cats">
<logic:greaterThan name="cat" property="age" value="10">
<bean:write name="cat" property="name"/>这只猫的年龄大于10<br/>
</logic:greaterThan>
</logic:iterate>
</body>
测试: