`

JSTL与struts1标签

阅读更多

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中的内容

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics