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