`

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

 

 

分享到:
评论

相关推荐

    (TAG标签)jstl和struts2标签截取字符串[文].pdf

    jstl和struts2标签截取字符串 从给定的文件信息中,我们可以看到,jstl和struts2标签都是用于截取字符串的。下面我们将对这两个标签进行详细的介绍和分析。 jstl标签 jstl标签是一种基于Java的标签库,它提供了...

    jstl和struts标签

    ### JSTL与Struts标签库详解 #### JSTL(JavaServer Pages Standard Tag Library)简介 JSTL,即JavaServer Pages Standard Tag Library(JavaServer Pages标准标签库),是为简化JavaServer Pages (JSP) 页面开发...

    JSTL的各种标签文件和struts的标签文件,带strtus.jar包

    JSTL的各种标签文件和struts的标签文件,带strtus.jar包c-1_0.tld,c-1_0-rt.tld,c.tld,fmt-1_0.tld,fmt-1_0-rt.tld,fmt.tld,fn.tld,permittedTaglibs.tldscriptfree.tld,sql-1_0.tld,sql-1_0-rt.tld,sql....

    Struts标签 和jstl标签

    Struts标签和JSTL(JavaServer Pages Standard Tag Library)标签是Java Web开发中的两种重要组件,...深入研究“Struts标签参考.CHM”和“jstl-1_1-mr2-spec.pdf”这两个文档,将有助于你更好地理解和运用这些技术。

    jstl,struts2,spring标签库api

    在Java Web开发中,JSTL(JavaServer Pages Standard Tag Library)、Struts2和Spring都是极为重要的组件,它们各自提供了强大的功能,同时也通过标签库API增强了开发者的工作效率。这三个框架的标签库API使得代码...

    Struts标签库jstl.jar standard.jar

    Struts标签库与JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的两个重要组件,它们极大地简化了HTML页面的编码工作,提升了代码的可读性和维护性。这两个库,尤其是jstl.jar和standard.jar,是...

    struts的标签jstl

    在实际开发中,Struts标签和JSTL标签经常一起使用,以增强视图层的功能。例如,Struts的`&lt;html:form&gt;`可以用于创建表单,而JSTL的`&lt;c:forEach&gt;`可以用来遍历列表并显示在表单中。同时,`&lt;fmt:formatDate&gt;`可以用于...

    struts+jstl

    例如,可以使用Struts的ActionForm传递数据,然后在JSP页面上通过JSTL标签展示这些数据,同时利用JSTL进行条件判断和循环操作。 总结起来,Struts1.2和JSTL是Java Web开发中的重要工具,它们协同工作,帮助开发者...

    从JSTL和STRUTS的TLD文件到自定义EL函数

    #### 引入Struts标签库 对于Struts框架,其标签库也需要通过类似的方式来引入: ```jsp &lt;%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %&gt; &lt;%@ taglib uri="/WEB-INF/tld/struts-...

    用于dreamweaver的标签提示和格式化.JSTL的c,fmt,x和struts2

    1. `TagLibraries.vtm`:这可能是一个Dreamweaver的自定义标签库文件,包含了对JSTL和Struts2标签的定义,使得在编辑JSP页面时能提供智能提示。 2. `Flash_Components`:可能包含了与Flash相关的组件或资源,虽然与...

    struts1标签库运用总结

    Struts1是一个经典的Java Web开发框架,其核心之一就是丰富的标签库,它简化了开发者在JSP页面上的工作。在本文中,我们将深入探讨Struts1的四个主要标签库:bean、logic、html和tiles,并重点讲解每个库中的关键...

    struts1.2、jstl、jsp三种标签教程

    1. **Struts1.2基础**:理解MVC模式,学习Action和Form Bean的概念,配置struts-config.xml文件,使用Struts提供的各种标签(如、)。 2. **JSTL应用**:掌握JSTL的各个标签库,学会如何在JSP页面中使用JSTL简化...

    struts2、JSTL、Spring、JS、JSP标签大全

    Struts2、JSTL、Spring、JavaScript(JS)以及JSP标签是Java Web开发中的核心组件,它们各自承担着不同的职责,共同构建了强大的Web应用程序。以下是对这些技术的详细解释: 1. **Struts2**:Struts2是一个基于MVC...

    Struts2标签使用及API文档

    1. **Struts2标签的分类与功能** - **控制标签**:如`s:if`, `s:else`, `s:choose`等,用于条件判断和流程控制。 - **数据展示标签**:如`s:textfield`, `s:textarea`, `s:checkbox`, `s:radio`等,用于创建表单...

    Struts标签库 Struts 标签库

    Struts2框架中的标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列与动作、结果、表单和国际化相关的标签。这些标签能够帮助开发者在页面上轻松地展现数据、处理表单提交、实现动态内容生成等。 2. **主要...

    数据库jar包文件,jstl,struts包

    数据库jar包文件、jstl和struts包是Java Web开发中的重要组成部分,它们在构建高效、可扩展的Web应用程序中扮演着关键角色。这里我们将深入探讨这些组件以及它们在实际应用中的作用。 首先,MySQL和SQLServer是两种...

    JSTL核心库主要标签的使用方法源代码

    JSTL核心库主要标签的使用方法源代码 JSTL核心库主要标签的使用方法源代码 JSTL核心库主要标签的使用方法源代码

    Struts2常用标签

    首先,我们要明白Struts2标签库与Struts1.x的不同之处。在Struts1.x中,标签库按照功能划分为HTML、Tiles、Logic和Bean等几个部分。而Struts2则没有明确的分类,所有的标签都位于统一的URI命名空间"/struts-tags"下...

    Using the JSP Standard Tag Library (JSTL) with Struts

    ### 使用JSP标准标签库(JSTL)与Struts框架 #### JSTL与Struts结合的关键知识点 **一、JSTL简介** JSP Standard Tag Library (JSTL)是JavaServer Pages (JSP)的一个扩展,它提供了一系列预定义的标签,用于简化...

    struts2标签用法详解

    Struts2标签库是基于JavaServer Pages (JSP) 标准标签库(JSTL)的扩展,它包含了一系列与Action、结果、表单、国际化等相关的标签。这些标签使得开发者可以将业务逻辑与展示逻辑分离,从而更专注于页面的呈现。 二...

Global site tag (gtag.js) - Google Analytics