struts的nested使用

actionForm:

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.struts.form;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

import pojo.Person;
import pojo.Address;
/**
 * MyEclipse Struts
 * Creation date: 08-26-2009
 *
 * XDoclet definition:
 * @struts.form name="tForm"
 */
public class TForm extends ActionForm {
 private String name;

 private Person person=new Person();
 
 
 public ActionErrors validate(ActionMapping mapping,
   HttpServletRequest request) {
  return null;
 }
 public void reset(ActionMapping mapping, HttpServletRequest request) {
  // TODO Auto-generated method stub
 }

 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public Person getPerson() {
  return person;
 }
 public void setPerson(Person person) {
  this.person = person;
 }
}

 

action:

/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.struts.action;

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.struts.form.TForm;

public class TAction extends Action {
 
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  TForm tForm = (TForm) form;// TODO Auto-generated method stub
  request.setAttribute("L", tForm);
  return mapping.findForward("show");
 }
}

提交页面:

<%@ page language="java" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested"%>
 
<html>
 <head>
  <title>struts nested</title>
 </head>
 <body>
  <html:form action="/t">
   name : <html:text property="name"/><html:errors property="name"/><br/>
    <nested:nest property="person">
     <nested:text property="personName"></nested:text><br />
     <nested:nest property="address">
      Current nesting is :<nested:writeNesting /><br>
      <nested:text property="addressName"></nested:text>
     </nested:nest>
    </nested:nest>
   <html:submit/><html:cancel/>
  </html:form>
 </body>
</html>

输出页面:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested"%>
 
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
 
  <body>
  nihao
  <jsp:useBean id="L" type="com.struts.form.TForm" scope="request"></jsp:useBean>
     <nested:root name="L">
      <nested:write property="name"/>
      <nested:nest property="person">
       <nested:write property="personName"/>
       <nested:nest property="address">
        <nested:write property="addressName"/>
       </nested:nest>
      </nested:nest>
     </nested:root>
  </body>
</html>

struts-config.xml配置

 <action
      attribute="tForm"
      input="/t.jsp"
      name="tForm"
      path="/t"
      scope="request"
      type="com.struts.action.TAction" >
       <forward name="show" path="/index.jsp"></forward>       
      </action>

两个类

package pojo;

public class Address {
 private String addressName;

 public String getAddressName() {
  return addressName;
 }

 public void setAddressName(String addressName) {
  this.addressName = addressName;
 }

}


package pojo;

public class Person {

 private String personName;
 
 public String getPersonName() {
  return personName;
 }

 public void setPersonName(String personName) {
  this.personName = personName;
 }
 
 private Address address=new Address();


 public Address getAddress() {
  return address;
 }

 public void setAddress(Address address) {
  this.address = address;
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值