首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

java web从0单排第十五期《struts2》控制标签(1)

2013-10-08 
java web从零单排第十五期《struts2》控制标签(1) 1.s:ifs:elseifs:else 标签其实和java语句的含义是一样的,

java web从零单排第十五期《struts2》控制标签(1)
 1.s:if  s:elseif  s:else 标签其实和java语句的含义是一样的,首先我们查看s:if和s:elseif标签的属性和意义:属性名是否必需默认值类型说明介绍

test

true

——

boolean

表达式,支持OGNL语言

 s:esle标签则没有属性。下面介绍一个例子供同学们参考:创建一个性别的showSex.java
package 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>

struts配置文件:
<?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>

运行结果:java web从0单排第十五期《struts2》控制标签(1)
也可以在标签中使用test属性中使用如下表达式判断是否为空:java web从0单排第十五期《struts2》控制标签(1)2.输出String[ ]中的内容s:iterator 的标签:功能为遍历集合框架,属性和意义如下所示。属性名是否必需默认值类型说明介绍statusfalsefalseString

如果指定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";}}

使用iterator标签输出数组:
<%@ 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>

s:iterator标签的value属性代表输出的数据源,该值来源于action中类型为字符串数组String[ ]的变量名studentList,而var存储的是字符串数组String[ ]中的每一个元素。配置文件struts.xml文件如下:
<?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>
运行结果:java web从0单排第十五期《struts2》控制标签(1)
3.输出List中JavaBean中的内容新建action类ShowListJavaBean.java
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;}}

在jsp页面中使用s:iterator标签输出List中存JavaBean的属性
<%@ 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>

第一种方法循环时将listJavaBean对象中的每一个元素放到值栈的顶端,所以直接获取即可。第二种方法也放在值栈中,但由于每次遍历的元素是一个JavaBean,所以需要使用#进行反射取值。配置文件struts.xml:
<?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>

运行结果:java web从0单排第十五期《struts2》控制标签(1)

热点排行
Bad Request.