У меня есть следующий класс действий:
package com.pendulum.web;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.pendulum.dao.DocumentoDAO;
import com.pendulum.domain.Documento;
import com.pendulum.domain.DocumentoPK;
public class DocumentoAction extends ActionSupport implements ModelDriven<Documento>{
private static final long serialVersionUID = 8757127171831894323L;
private Documento documento = new Documento();
private List<Documento> documentList = new ArrayList<Documento>();
private DocumentoDAO documentoDAO = new DocumentoDAO();
private Documento currDocument = new Documento();
private DocumentoPK documentoPK = new DocumentoPK();
@Override
public Documento getModel() {
return documento;
}
public Documento getDocumento() {
return documento;
}
public void setDocumento(Documento documento) {
this.documento = documento;
}
public List<Documento> getDocumentList() {
return documentList;
}
public void setDocumentList(List<Documento> documentList) {
this.documentList = documentList;
}
public String listDocument()
{
HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
documentList = documentoDAO.listDocumentsByCreditId(request.getParameter("creditId"));
if (documentList.size()>0) {
currDocument = documentList.get(0);
documentoPK = currDocument.getDocumentoPK();
}
System.err.println(documentList.size());
System.err.println(currDocument.getDocumentoPK().getCreditoId());
System.err.println(currDocument.getOrigenId());
return SUCCESS;
}
public DocumentoDAO getDocumentoDAO() {
return documentoDAO;
}
public void setDocumentoDAO(DocumentoDAO documentoDAO) {
this.documentoDAO = documentoDAO;
}
public Documento getCurrDocument() {
return currDocument;
}
public void setCurrDocument(Documento currDocument) {
this.currDocument = currDocument;
}
public DocumentoPK getDocumentoPK() {
return documentoPK;
}
public void setDocumentoPK(DocumentoPK documentoPK) {
this.documentoPK = documentoPK;
}
}
Моя проблема в том, что, на мой взгляд (.jsp) я могу получить свойства из currDocument, но я не могу получить свойства внутри DocumentoPK.
DocumentoPK - это составной ключ гибернации, объявленный в своем собственном классе и созданный для каждого компонента Documento, однако ... в моем jsp есть:
<table class="userTable" cellpadding="5px">
<tr class="even">
<td><s:property value="currDocument.origenId"/></td>
<td><s:property value="documentoPK.creditId"/></td>
<td><s:property value="currDocument.documentoPK.creditId"/></td>
<td><s:property value="creditId"/></td>
</tr>
</table>
, но только значение всначала отображается ... и не знаю, упускаю ли я что-то очевидное.Любая помощь с благодарностью!Jhurtado