如何获得Struts的实际对象

时间:2015-02-13 19:07:44

标签: java jsp struts2

我第一次使用Struts + Java。我有以下内容:

package Logica;

import org.apache.struts.action.ActionForm;

public class Partido extends ActionForm {

    private String local;
    private String visitante;
    private String campeonato;
    private String hora;
    private String fecha;

    private Resultado actual;



    public void setLocal(String local){
        this.local = local;
    }

    public void setVisitante(String visitante){
        this.visitante = visitante;
    }

    public void setCampeonato(String campeonato){
        this.campeonato = campeonato;
    }

    public void setHora(String hora){
        this.hora = hora;
    }

    public void setFecha(String fecha){
        this.fecha = fecha;
    }


    public Resultado getResultado(){

        if(actual == null){
            actual = new Resultado(0, 0);
        }


        return actual;
    }

    public String getLocal(){
        return local;
    }

    public String getVisitante(){
        return local;
    }
    public String getCampeonato(){
        return local;
    }
    public String getHora(){
        return local;
    }
    public String getFecha(){
        return local;
    }
}

这是JSP文件:

<%@ taglib prefix="s" uri="/struts-tags" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Proyecto Web</title>
    </head>
    <body>
        <center>
            <h2>Agregar Partido</h2>
            <s:form action="nuevoPartido" method="post">
                <s:textfield name="local" size="10" label="Local" />
                <s:textfield name="visitante" size="10" label="Visitante" />
                <s:textfield name="nombreCampeonato" size="10" label="Campeonato" />
                <s:textfield name="hora" size="10" label="Hora" />
                <s:textfield name="fecha" size="10" label="fecha" />
                <s:submit value="Guardar" />
            </s:form>
        </center>
    </body>
    </html>

现在我想获取我使用表单创建的对象Partido并将其插入List中。问题是我不知道如何在另一个Java类中获取对象Partido。

1 个答案:

答案 0 :(得分:0)

使用简单程序时,不需要在Struts2中扩展任何ActionForm或ActionSupport类。

我认为你在同一个动作类中有getter和setter以及action方法 你能做的是,
1)为表单元素创建一个单独的bean类(对action和beans使用单独的Class)
2)在你的动作类中为bean创建一个对象,并为对象生成getter和setter 3)如果您使用此方法,则必须重命名前缀为bean类名称

的表单值

假设你的bean类名是 PartidoBean 。在表单中,您必须使用 partidoBean 访问表单名称。

FROM

 <s:textfield name="local" size="10" label="Local" />
 <s:textfield name="visitante" size="10" label="Visitante" />
 ...

TO

<s:textfield name="partidoBean.local" size="10" label="Local" />
<s:textfield name="partidoBean.visitante" size="10" label="Visitante" />
...

现在,您在Bean对象中的StrutsForm值存在于ActionClass的Action方法中。您可以通过为所需的类创建一个对象,将此beanObject发送到另一个类。

这是将formValues传输到不同类的一种方法。
我猜这是你的要求!!