我第一次使用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。
答案 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传输到不同类的一种方法。
我猜这是你的要求!!