struts2控制标签

前面的代码跟上次一样,这里主要代码在页面。

 

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>

猜你喜欢

转载自n-meng.iteye.com/blog/1069554