2011-03-09 70 views
0
顯示性能

我有以下動作類:問題上的Struts2

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是自身的類中聲明,和實例化這份執行每一個bean的休眠複合鍵,但是......在我的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

回答

2

由於上DocumentoPK獲取方法爲getCreditoId(),不應該OGNL屬性來命名creditoId

<td><s:property value="documentoPK.creditId"/></td> 
<td><s:property value="currDocument.documentoPK.creditId"/></td> 
+0

OMG ......快一小時了,可俯瞰一個錯字...(x.xU)謝謝很多binil ... – jhurtado 2011-03-09 23:04:31