Jsp没有获得struts2动作字段

时间:2017-07-07 19:57:44

标签: java hibernate jsp struts2 ognl

我在jsp页面中打印字段有点问题。我通过休眠来管理持久性。

当我进入jsp页面时,它什么也没显示。如何修改jsp以打印scontrino的prodotti字段?

行动类

public class ScontrinoStruts extends ActionSupport implements UserAware{

        private static java.lang.Float iva = 22.00f;

        private String valori;

        private int idScontrino;
        private Date data;
        private java.lang.Float importoTotale;
        private int totalePezzi;

        private int ID_Anagrafica;//idanagrafica
        private Anagrafica anagrafica;
        private AnagraficaDAO anagraficaDAO = AnagraficaDAOFactory.getDAO();

        private int idProdotto;
        private List<Prodotto> prodotti = new ArrayList<Prodotto>();
        private Prodotto prodotto;

        private Scontrino scontrino = new Scontrino();
        List<Scontrino> scontrini = new ArrayList<Scontrino>();
        ScontrinoDAO scontrinoDAO = ScontrinoDAOFactory.getDAO();
        ProdottoDAO prodottoDAO = ProdottoDAOFactory.getDAO();

        public String showScontrino(){
            scontrino = scontrinoDAO.getScontrino(idScontrino);
            return "success";
        }
        //getters and setters
    }

struts.xml中

    <action name="showScontrino" method="showScontrino"
        class="it.unirc.pjam.Action.ScontrinoStruts">
        <result name="success">/scontrino.jsp</result>
    </action>

JSP

    <table>
        <tr>
            <td>id</td>
            <td>Descrizione</td>
            <td>prezzo</td>
        </tr>
        <s:iterator value="scontrino.prodotti">
            <tr>
                <td><s:property value="idProdotto" /></td>
                <td><s:property value="descrizione" /></td>
                <td><s:property value="prezzo" /></td>
            </tr>
        </s:iterator>
    </table>

1 个答案:

答案 0 :(得分:0)

通过OGNL表达式显示的字段,用于遍历对象属性以查找值。诸如value之类的属性用于在返回其值之前首先解析OGNL表达式。如何评估OGNL表达式,您可以在this答案中找到。

您还可以阅读this回答,了解OGNL在搜索数据时使用的操作上下文。

This回答将指导您如何为迭代列表提供getter。

通过this回答深入学习OGNL语言指南。

This回答将教你如何使用点符号来访问bean的属性。