Проблема с отображением свойства на Struts2 - PullRequest
0 голосов
/ 10 марта 2011

У меня есть следующий класс действий:

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

1 Ответ

2 голосов
/ 10 марта 2011

Поскольку получатель на DocumentoPK равен getCreditoId(), не должно ли свойство OGNL иметь имя creditoId in:

<td><s:property value="documentoPK.creditId"/></td>
<td><s:property value="currDocument.documentoPK.creditId"/></td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...