java web从零单排第十五期《struts2》控制标签(1)
1.s:if s:elseif s:else 标签其实和java语句的含义是一样的,首先我们查看s:if和s:elseif标签的属性和意义:
test
true
——
boolean
表达式,支持OGNL语言
s:esle标签则没有属性。下面介绍一个例子供同学们参考:创建一个性别的showSex.javapackage controller;public class ShowSex {private String sex;public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String execute(){this.setSex("male");return "showsex";}}在jsp页面中使用s:if标签输出性别:<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%@ taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <body> <s:if test="sex=='male'">male</s:if> <s:elseif test="sex==female">female</s:elseif> <s:else>...</s:else> </body></html>
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtd/struts-2.0.dtd"><struts> <package name="Maybe" extends="struts-default"> <action name="showsex" class="controller.ShowSex"> <result name="showsex">/showsex.jsp</result> </action> </package> </struts>

2.输出String[ ]中的内容s:iterator 的标签:功能为遍历集合框架,属性和意义如下所示。如果指定status属性,则创建一个IteratorStatus类的实例
并放到值栈中
valuefalse——String被循环的集合包括List,Set,数组和Map集合
var
false——String集合中的每一个元素,并且放到值栈中
begin
false——int起始的索引
end
false——int结束的索引
IteratorStatus对象是当前循环的一些相关信息,主要属性如下所示:index:当前循环的索引。count:循环的次数。first:是否为第一位。even:当前位置是否为偶数。last:是否为最后一个。odd:当前位置是否为偶数。s :iterator标签具有遍历集合元素的功能,s:iterator标签可以和s:property标签结合使用,进行一边遍历一边输出的操作。在action中向String[ ]数组保存数据新建action类ShowStringArray.java
package controller;public class ShowStringArray {private String[] studentList = new String[3];public String[] getStudentList() {return studentList;}public void setStudentList(String[] studentList) {this.studentList = studentList;}public String execute(){studentList[0] = "niujiabin";studentList[1] = "maybe";studentList[2] = "GossipGo";return "showstringarray";}}<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%@ taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <body> <s:iterator value="studentList" var = "studentName"> <s:property value="studentName"/> </s:iterator> </body></html>
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtd/struts-2.0.dtd"><struts> <package name="Maybe" extends="struts-default"> <action name="showstringarray" class="controller.ShowStringArray"> <result name="showstringarray">/showstringarray.jsp</result> </action> </package> </struts>运行结果:

package controller;import java.util.ArrayList;import bean.StudentInfo;public class ShowListJavaBean {private ArrayList listJavaBean = new ArrayList();public ArrayList getListJavaBean() {return listJavaBean;}public void setListJavaBean(ArrayList listJavaBean) {this.listJavaBean = listJavaBean;}public String execute(){StudentInfo student1 = new StudentInfo();StudentInfo student2 = new StudentInfo();StudentInfo student3 = new StudentInfo();student1.setAge(20);student1.setName("niujiabin");student2.setAge(21);student2.setName("maybe");student3.setAge(21);student3.setName("GossipGo");listJavaBean.add(student3);listJavaBean.add(student2);listJavaBean.add(student1);return "showlistjavabean";}}javaBean 类实体:package bean;public class StudentInfo {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib uri="/struts-tags" prefix="s" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <body> 第一种写法: <br> <s:iterator value="listJavaBean"> 姓名:<s:property value="name"/> 年龄:<s:property value="age"/> </s:iterator> <br> 第二种写法: <br> <s:iterator valu="listJavaBean" var="studentJavaBean"> 姓名: <s:property value="#studentJavaBean.name"/> 年龄:<s:property value="#studentJavaBean.age"/> </s:iterator> </body></html>
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtd/struts-2.0.dtd"><struts> <package name="Maybe" extends="struts-default"> <action name="showlistjavabean" class="controller.ShowListJavaBean"> <result name="showlistjavabean">/showlistjavabean.jsp</result> </action> </package> </struts>
