前面的代码跟上次一样,这里主要代码在页面。
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>