
前面的代码跟上次一样,这里主要代码在页面。
1.新建一个TestAction.java类
package cn.nm.action;
public class TestAction {
/* struts2的所有处理方法的返回值必须是string字符串 */
public String execute() {
System.out.println("当你点击第一个struts2程序是默认执行该类中的execute方法");
/* 返回的结果必须与result的结果name值相匹配 */
return "success";
}
}
2.struts.xml配置文件
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- packet是包必须继程struts-default -->
<package name="testStruts" extends="struts-default" namespace="/">
<!--action的名称必须与视图中的名称一致 class是致命处理的类 method致命在该类中若那个-->
<action name="test" class="cn.nm.action.TestAction" method="execute">
<!-- 跳转页面result 是结果 -->
<result name="success" type="dispatcher">/sc.jsp</result>
</action>
</package>
</struts>
3.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<!-- 过滤器 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4.index.jsp
<body>
<a href="./test.action">测试第一个struts2的案例 </a>
</body>
5.sc.jsp页面中
先声明struts2标签:<%@ taglib uri="/struts-tags" prefix="s"%>
<body>
<h1>
struts2测试成功
</h1>
<p>
<s:set name="score" value="20"></s:set>
<s:if test="%{#attr.score>60}">
成绩合格.............
</s:if>
<s:elseif test="%{#allr.score>35}">
成绩烂..............
</s:elseif>
<s:else>
成绩无可救药.............
</s:else>
</p>
<!-- 迭代标签 -->
迭代标签:
value id status
InteratorStatus实例包含以下几种方法:
int getCount(); 返回当前迭代的几个元素
int getindex();返回当前元素的索引
boolean isEven();返回当前迭代的索引是否是偶数
boolean isFirst();返回当前迭代的索引是否是第一个元素
boolean isLast();返回当前得带的索引是否是最后一个元素
boolean isodd();返回当前得带的索引是否是奇数
var :当前迭代的元素
begin:开始的元素
end:结束的位置
step:跨度
/**下面的代码接着sc.jsp中*/
<p>
<table border="1px" cellpadding="0" cellspacing="0">
<tr>
<th>
图书的名称
</th>
</tr>
<s:iterator var="name"
value="{'HTML入门','java入门','css入门','javaweb实战'}" status="st">
<s:if test="#st.odd">
<tr style="background-color: red;">
<td>
<s:property value="name" />
</td>
</tr>
</s:if>
<s:else>
<tr style="background-color: green;">
<td>
<s:property value="name" />
</td>
</tr>
</s:else>
</s:iterator>
</table>
</p>
<br />
<br />
<p>
<table border="1px" cellpadding="0" cellspacing="0">
<tr>
<th>
图书的名称
</th>
</tr>
<s:iterator var="name"
value="#{'HTML入门':'123','java入门':'234','css入门':'345','javaweb实战':'456'}">
<tr>
<td>
<s:property value="key" />
</td>
<td>
<s:property value="value" />
</td>
</tr>
</s:iterator>
</table>
</p>
<h2>
append标签的使用
</h2>
<p>
append标签用于将多个对象拼接起来,形成一个新的集合
<h5>
List集合的拼接
</h5>
<s:append var="newList">
<s:param value="{'HTML入门','java入门','css入门','javaweb实战'}"></s:param>
<s:param value="{'Hinernate教程','struts教程'}"></s:param>
</s:append>
</p>
</body>
分享到:
相关推荐
在Struts2中,自定义标签通常由Action类和结果页面共同完成,提供了一种声明式编程的方式,降低了视图与控制层的耦合度。 二、自定义标签的优点 1. 提高代码可读性:自定义标签将复杂的业务逻辑封装起来,使得HTML...
这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,例如 if、else 和 iterator。数据标签用来管理数据的取得和创建,例如 bean、push 和 i18n。 4.1.1 if 标签 if 标签用来控制基本的...
2. **Struts2标签的类型**:包括控制标签(如`<s:if>`、`<s:iterator>`)、数据标签(如`<s:property>`)、表单标签(如`<s:form>`、`<s:textarea>`)以及国际化标签(如`<s:text>`)等。 3. **标签的生命周期**:...
Struts2是一个强大的MVC(模型-视图-控制器)框架,用于构建企业级Java Web应用程序。在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化...
- **Struts2控制标签**: - 控制标签包括`append`、`generator`、`if/else/elseif`、`iterator`、`merge`、`sort`等。 - 这些标签主要用于控制页面内容的生成,帮助开发者实现更复杂的逻辑处理。 - 例如,`if`...
Struts2作为一款流行的Java Web框架,极大地简化了MVC(模型-视图-控制器)应用的开发。自定义标签是Struts2框架中的一个重要特性,它允许开发者创建自己的标签库,以更直观、易读的方式在JSP页面中处理业务逻辑。...
在实际开发中,Struts2的标签使得视图层的代码更加简洁易读,降低了视图和控制层之间的耦合度。它们提供了丰富的内置功能,如数据转换、国际化支持、错误处理等,使得开发者可以更专注于业务逻辑,而不是繁琐的HTML...
Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据展示、逻辑控制等。在本文中,我们将深入探讨其中的Bean Tags、HTML Tags和Logic Tags。 1. **Bean ...
"Struts2标签库详解" Struts2标签库是Struts2框架中的一个重要组件,它提供了一系列的标签,帮助开发者快速构建Web应用程序。在Struts2标签库中,标签可以分为UI标签和非UI标签两大类。UI标签用于生成HTML控件,如...
Struts2是一个强大的Java web应用程序框架,它极大地简化了MVC(模型-视图-控制器)架构的应用开发。在Struts2中,表单标签是用于处理用户输入和展示数据的关键组件,它们使得视图层的构建更加简洁和高效。本示例将...
3. **Logic标签**:虽然Struts2已经不推荐使用这些标签,但在老版本中它们用于控制流程。例如: - `<s:if>`和 `<s:else>`:条件判断,类似于Java中的if-else语句。 - `<s:iterate>`:遍历集合,类似于Java的for-...
文件名“struts2_05_03_controlTag”可能涵盖了Struts2控制标签的使用,这些标签包括导航和流程控制标签,如 `<s:if>`, `<s:else>`, `<s:switch>`, `<s:iterator>`等,它们帮助开发者根据条件执行不同的操作或循环...
Struts2 标签库(IBM资料)Struts2标签库概述; Struts2数据标签; Struts2控制标签; Struts2表单标签; Struts2非表单标签
Struts2是一个强大的MVC(模型-视图-控制器)框架,被广泛应用于Java Web开发。这个实例项目展示了如何在实际应用中结合Struts2、国际化、类型转换以及Struts2自定义标签来实现用户管理功能,包括用户数据的增删改查...
在Struts2框架中,标签库是一系列预定义的JSP标签,它们提供了丰富的功能,如数据绑定、控制流、输入验证等,帮助开发者创建更加整洁、易于维护的代码。 Struts2标签库主要分为以下几个部分: 1. **核心标签(Core...
- **控制标签**:如`s:if`, `s:else`, `s:choose`等,用于条件判断和流程控制。 - **数据展示标签**:如`s:textfield`, `s:textarea`, `s:checkbox`, `s:radio`等,用于创建表单元素并绑定到Action的属性。 - **...
流程控制标签用于实现分支、循环等流程控制的标签,而数据访问标签用于输出 ValueStack 中的值,完成国际化等功能的。 Ajax 标签 Ajax 标签用于实现异步请求和处理的标签。Ajax 标签可以实现页面无刷新更新、实时...
##### 5.3 Struts 2控制标签 - **append标签**:用于将一个字符串添加到另一个字符串后面。 - **generator标签**:用于生成一系列元素。 - **if、else、elseif标签**:用于条件判断。 - **iterator标签**:用于遍历...