Struts2 iterator标签

版权声明:博客知识产权来源命运的信徒,切勿侵权 https://blog.csdn.net/qq_37591637/article/details/84952089

iterator标签用来遍历一个数组,Collection或一个map,并且把这个可遍历对象的每个元素依次压入和弹出ValueStack栈

demo如下:

之所以采用的是<%%>的形式

其实也可以在Action类中,list集合添加person类,然后封装list集合,但是这样的话操作繁琐,我们的目的是<s:iterator>的效果,所以就用<%%>来模拟这个效果

<%
List<Person> list=new ArrayList<Person>();
list.add(new Person("tjn",21));
list.add(new Person("yecun",66));
list.add(new Person("wanzhai",54));
list.add(new Person("wanzuo",77));
list.add(new Person("yuji",23));
request.setAttribute("list", list);
  %>
 <s:iterator value="#request.list">
 ${name }--${age }<br>
 </s:iterator>

结果如下:

严谨的代码如下:

package cn.com.action;

import java.util.ArrayList;
import java.util.List;

public class Person {
private String name;
private Integer age;
private List<Person> list=new ArrayList<Person>();

public List<Person> getList() {
	return list;
}
public void setList(List<Person> list) {
	this.list = list;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
public Integer getAge() {
	return age;
}
public void setAge(Integer age) {
	this.age = age;
}
public Person(String name, Integer age) {
	super();
	this.name = name;
	this.age = age;
}
public Person(){}

public String execute(){
	list.add(new Person("QQ",11));
	list.add(new Person("WW",12));
	list.add(new Person("SS",13));
	list.add(new Person("EQ",14));
	list.add(new Person("CQ",15));
	return "success";
}
}

前台页面代码如下:

第二种遍历的方式<br>
 <s:iterator value="list" status="s">
 行数:${s.index }<br>
名称<s:property value="name"/><br>
年龄:<s:property value="age"/><br>

 </s:iterator>

struts.xml的相关代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
<!-- 这个是注明.action,和.do 结尾都可以应答 -->
<constant name="struts.action.extension" value="do,action,kk"></constant>
<package name="tjn" extends="struts-default">
<action name="url" class="cn.com.action.Info" method="save">
<result name="success">/WEB-INF/pages/success.jsp</result>
</action>
<action name="context" class="cn.com.action.TestActionContext">
<result>/context.jsp</result>
</action>


<action name="aware" class="cn.com.action.AwareAction" >
<result>/context.jsp</result>
</action>

<action name="login_ui">
<result>/login.jsp</result>
</action>

<action name="*" class="cn.com.action.StrutsDemo" method="{1}">
<result name="{1}">/{1}.jsp</result>
</action>

<action name="for" class="cn.com.action.Info" method="save">
<result>/one.jsp</result>
</action>
<action name="gg" class="cn.com.action.Person" method="execute">
<!-- result="名称" 当名称是error的时候,代表着对应的是<result name="error"></result>这个信息;exception="异常全类名"-->
<!-- <exception-mapping result="error" exception="java.lang.ArithmeticException">

</exception-mapping> 
<result name="error">/context.jsp</result> -->
<result name="success">/login.jsp</result>
</action>
<action name="map" class="cn.com.action.RequestTest" >
<result>/one.jsp</result>
</action>
</package>
</struts>

连接页面

   <a href="gg.action">map栈</a>

猜你喜欢

转载自blog.csdn.net/qq_37591637/article/details/84952089