JSTL与struts标签:
http://www.360doc.com/content/06/1013/12/11192_229456.shtml
struts标签大全:
http://www.360doc.com/content/09/0819/15/205400_5050517.shtml
logic:iterate
http://www.cnblogs.com/nanshouyong326/archive/2008/04/23/1167596.html
struts里nested 标签的简单应用
http://www.iteye.com/topic/39959
nested使用显示示例:
LoginAction中代码:
LoginForm formM = new LoginForm();
formM.setUserName("userM");
formM.setPwd("pwdM");
Address add = new Address();
add.setAddrName("slfjslfjlsfjlsf");
Person person = new Person();
person.setAdd(add);
person.setName("goodboy");
formM.setPerson(person);
request.setAttribute("formM", formM);
jsp中显示的代码:
类的嵌套关系:LoginForm中有Person,Person中Address
public class LoginForm extends ActionForm {
/*
* Generated fields
*/
/** pwd property */
private String pwd;
/** userName property */
private String userName;
private Person person = new Person();
/*
* Generated Methods
*/
public Person getPerson() {
return person;
}
public void setPerson(Person person) {
this.person = person;
}
package com.paul.form;
public class Person {
private String name;
private Address add = new Address();
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Address getAdd() {
return add;
}
public void setAdd(Address add) {
this.add = add;
}
}
package com.paul.form;
public class Address {
private String addrName;
public String getAddrName() {
return addrName;
}
public void setAddrName(String addrName) {
this.addrName = addrName;
}
}
JSP显示:
<br/>
<nested:root name="formM">
<nested:nest property="person">
<nested:write property="name"/>
<nested:nest property="add">
<nested:write property="addrName"/>
</nested:nest>
</nested:nest>
</nested:root>
nested标签的应用:
一、nested标签与logic标签类似功能演示:
例如一:
action中:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.paul.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.paul.form.Address;
import com.paul.form.LoginForm;
import com.paul.form.Person;
public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
com.paul.form.LoginForm loginForm = (LoginForm) form;
request.setAttribute("userName", loginForm.getUserName());
List <String> list = new ArrayList <String> ();
list.add("1a");
list.add("");
list.add("1b");
request.setAttribute("listData", list);
List <String> list1 = new ArrayList <String> ();
list1.add("dd");
list1.add("aa");
list1.add("bb");
list1.add("cc");
request.setAttribute("listData1", list1);
LoginForm form1 = new LoginForm();
form1.setUserName("user1");
form1.setPwd("pwd1");
LoginForm form2 = new LoginForm();
form2.setUserName("user2");
form2.setPwd("pwd2");
List <LoginForm> list3 = new ArrayList <LoginForm> ();
list3.add(form1);
list3.add(form2);
request.setAttribute("listData3", list3);
HashMap<String, List> map = new HashMap<String, List>();
map.put("list", list);
map.put("list1", list1);
request.setAttribute("listMap", map);
LoginForm formN = new LoginForm();
formN.setUserName("userN");
formN.setPwd("pwdN");
request.setAttribute("formN", formN);
LoginForm formM = new LoginForm();
formM.setUserName("userM");
formM.setPwd("pwdM");
Address add = new Address();
add.setAddrName("slfjslfjlsfjlsf");
Person person = new Person();
person.setAdd(add);
person.setName("goodboy");
formM.setPerson(person);
request.setAttribute("formM", formM);
List maplist = new ArrayList();
HashMap<String, String> map11 = new HashMap<String, String>();
map11.put("key1","vlaue1");
HashMap<String, String> map12 = new HashMap<String, String>();
map12.put("key2","vlaue2");
maplist.add(map11);
maplist.add(map12);
request.setAttribute("maplist", maplist);
return mapping.findForward("success");
}
}
JSP中显示:
<%@ page contentType="text/html; charset=UTF-8" language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<%@ taglib uri="/tags/struts-logic" prefix="logic"%>
<%@ taglib uri="/tags/struts-nested" prefix="nested"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>success.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
bean:message测试:<br/>
<bean:message key="message.name"/>
<br/><br/>
bean:write测试:<br/>
<bean:write name="userName" scope="request"/>
<br/><br/>
logic:iterate测试: <br/>
<logic:iterate id="ld" name="listData" indexId="count">
<bean:write name="count"/><br/>
<logic:iterate id="dd" name="listData1" indexId="count2">
<%if(count.intValue()==count2.intValue()){ %>
<bean:write name="dd"/><br>
<%} %>
</logic:iterate>
<bean:write name="ld"/><br>
</logic:iterate>
<br/>
logic:iterate 迭代list<br/>
<logic:iterate id="kd" name="listData3" indexId="cc">
<bean:write name="kd" property="pwd"/>
<bean:write name="kd" property="userName"/><br/>
</logic:iterate>
<br/>
nested:iterate 迭代list<br/>
<nested:iterate id="item" name="listData3" indexId="index">
<nested:write name="item" property="pwd"/>
<nested:write name="item" property="userName"/><br/>
</nested:iterate>
<br/><br/>
logic:iterate迭代map中的list<br/>
<logic:iterate id="md" name="listMap">
key:<bean:write name="md" property="key"/><br/>
value:
<logic:iterate id="nd" name="md" property="value">
<bean:write name="nd" />
</logic:iterate>
<br/>
</logic:iterate>
<br/><br/>
nested:iterate迭代map中的list<br/>
<nested:iterate id="md" name="listMap">
key:<nested:write name="md" property="key"/><br/>
value:
<nested:iterate id="nd" name="md" property="value">
<nested:write name="nd" />
</nested:iterate>
<br/>
</nested:iterate>
<br/> <br/>
nested:iterate迭代list中的map<br/>
<nested:iterate id="item" name="maplist" indexId="index">
<nested:iterate id="itemm" name="item" >
<nested:write name="itemm" property="key"/>
<nested:write name="itemm" property="value"/>
</nested:iterate>
</nested:iterate>
<br/>
<br/>
<nested:write name="formN" property="userName"/>
<br/>
<nested:root name="formM">
<nested:nest property="person">
<nested:write property="name"/>
<nested:nest property="add">
<nested:write property="addrName"/>
</nested:nest>
</nested:nest>
</nested:root>
</body>
</html:html>
二、nested标签在form提交和与form有关的显示的应用:
http://blog.csdn.net/qinglangzhihai/article/details/5791250
例如二:
action中:
package com.paul.action;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.paul.form.NestedForm;
public class NestedAction extends Action {
/*
* Generated Methods
*/
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
com.paul.form.NestedForm nestedForm = (NestedForm) form;
List itemList = new ArrayList();
itemList.add("11111111111");
itemList.add("11111111122");
nestedForm.setItemList(itemList);
return mapping.findForward("success");
}
}
form中
package com.paul.form;
import java.util.ArrayList;
import java.util.List;
import org.apache.struts.action.ActionForm;
public class NestedForm extends ActionForm{
private String emlId;
private List itemList = new ArrayList();
public String getEmlId() {
return emlId;
}
public void setEmlId(String emlId) {
this.emlId = emlId;
}
public List getItemList() {
return itemList;
}
public void setItemList(List itemList) {
this.itemList = itemList;
}
}
即form中含有list属性,那么在页面中使用nested:iterate显示
<%@ page contentType="text/html; charset=UTF-8" language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="/tags/struts-html" prefix="html"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<%@ taglib uri="/tags/struts-logic" prefix="logic"%>
<%@ taglib uri="/tags/struts-nested" prefix="nested"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>success.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<nested:iterate name="nestedForm" property="itemList" id="item">
<nested:write name="item"/>
</nested:iterate>
</body>
</html:html>
注意这里指定了name为struts配置文件中的form名称
如上使用:
<nested:iterate name="nestedForm" property="itemList" id="item">
<nested:write name="item"/>
</nested:iterate>
可输出itemList中的内容