Acho que não to conseguindo expor meu problema, vou colocar o código para vcs entenderem:
Código na Action de Insert e o código que chama a página de Details:
public ActionForward insert(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws WebActionException, GpbrBusinessException {
BusinessDelegate delegate = getBusinessDelegate();
Serializable serializable = null;
Collection persistCollection = new LinkedList();
SoftwareVO softwareVO = (SoftwareVO) ((PersistentObjectGenerate) form).getPersistentObj();
persistCollection.add(softwareVO);
persistCollection.addAll(softwareVO.getSoftwareFornecedor());
try {
serializable = delegate.insert(persistCollection);
} catch (GpbrPersistException e) {
throw new WebActionException("Erro ao inserir registro", e);
} catch (GpbrBusinessException e) {
throw e;
}
persistedObject(mapping, form, request, response, serializable);
cleanSession(mapping, form, request);
request.setAttribute(BasicAction.MESSAGE_ATTRIBUTE, "Inclusão realizada com sucesso!");
return dispatch(mapping, form, request, response, CommandTypeConstants.INSERIR);
}
public ActionForward showDetail(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws GpbrPersistException, WebActionException {
try {
SoftwareVO softwareVO = (SoftwareVO) getBusinessDelegate().findById(((PersistentObjectGenerate)form).getPersistentObj());
request.setAttribute("softwareVO", softwareVO);
} catch (GpbrPersistException e) {
throw new GpbrPersistException("Erro ao fazer consulta de Software.", e);
}
return mapping.findForward("detailCadSoftware");
}
Código no VO Pai ( SoftwareVO ):
public class SoftwareVO extends ValueObject {
public Integer id;
private List softwareFornecedor;
public List getSoftwareFornecedor() {
return softwareFornecedor;
}
public void setSoftwareFornecedor(List softwareFornecedor) {
this.softwareFornecedor = softwareFornecedor;
}
public void setId(Integer id) {
if(softwareFornecedor != null) {
Iterator i = softwareFornecedor.iterator();
while(i.hasNext()) {
SoftwareFornecedorVO softwareFornecedor = (SoftwareFornecedorVO) i.next();
softwareFornecedor.setCodSoftware(id);
}
}
this.id = id;
}
public String[] getRelationshipAttributes() {
return new String[] {"softwareFornecedor"};
}
}
Código no VO filho ( SoftwareFornecedorVO ):
public class SoftwareFornecedorVO extends SoftwareVO {
public Integer codSoftware;
public Integer codFornecedor;
public Integer getCodSoftware(){
return codSoftware;
}
public void setCodSoftware(Integer codSoftware){
this.codSoftware = codSoftware;
}
public Integer getCodFornecedor() {
return codFornecedor;
}
public void setCodFornecedor(Integer codFornecedor){
this.codFornecedor = codFornecedor;
}
}
Código no Form:
public class SoftwareForm extends FormBean {
private String id = "";
private String[] fornec;
public Serializable getPersistentObj() {
SoftwareVO softwareVO = new SoftwareVO();
List listSoftwareFornecedor = new ArrayList();
for(int i = 0; fornec != null && i < fornec.length; i++) {
String codFornecedor = fornec[i];
SoftwareFornecedorVO softwareFornecedor = new SoftwareFornecedorVO();
softwareFornecedor.setCodFornecedor(Integer.valueOf(codFornecedor));
listSoftwareFornecedor.add(softwareFornecedor);
}
softwareVO.setSoftwareFornecedor(listSoftwareFornecedor);
if (StringUtils.trimToNull(id) != null) {
softwareVO.setId(NumberUtils.createInteger(id));
}
return softwareVO;
}
public String[] getFornec(){
return fornec;
}
public void setFornec(String[] fornec){
this.fornec = fornec;
}
}
Tentei o que vcs falaram, mas continua não funcionando =/
Acho que com o código fica mais fácil de entender, ele não mostra nada e também não da erro nenhum.
[]'s