为什么 JSP 没有得到 Struts 2 个操作字段

Why JSP doesn't get Struts 2 action fields

我在 jsp 页面中打印字段时遇到一点问题。我已经使用休眠管理了持久性。

当我转到 jsp 页面时,它没有任何显示。如何修改 jsp 以便打印 scontrino 的 prodotti 字段?

动作Class

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>

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

您还可以阅读 this 答案以了解 OGNL 在搜索值时使用的操作上下文是什么。

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

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

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