jsf показывает значения сущности во входах при редактировании - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть список продуктов, и когда я нажимаю «изменить продукт», он перенаправляет на editProduct.x html, и я хочу видеть значения выбранной сущности во входных данных (с теми, которые я получаю из getRequest). У меня есть inputHidden и метаданные и f: param, но я, вероятно, неправильно его использую, поэтому он не работает.

productList.x html

<f:view>

    <h:body>

        <ui:composition template="template.xhtml">
        <ui:define name="content">

            <h:form id="productForm">
                <h:dataTable id="productTable"
                             class="table table-hover"
                             var="product"
                             value = "#{listProductController.getProductListForUser()}">

                            <h:column>
                                <f:facet name = "header">Id: </f:facet>
                                     #{product.id}
                            </h:column>


                    <h:column>
                        <f:facet name = "header">Title: </f:facet>
                        <h:outputLabel value="#{product.title}"
                                          />
                    </h:column>



                            <h:column>
                                <f:facet name = "header">Category:</f:facet>
                            #{product.category.name}
                            </h:column>

                            <h:column>
                                <f:facet name = "header">Description:</f:facet>
                                <h:outputText value="#{product.description}"
                                             />
                            </h:column>

                            <h:column>
                                <f:facet name = "header">Pictures:</f:facet>
                                <ui:repeat var="picture" value="#{listProductController.getFirstPicByProductId(product.id)}">
                                    <h:graphicImage value = "#{picture.link}" height="60px" width="60px" alt="Image not found"/>
                                </ui:repeat >
                            </h:column>

                            <h:column>
                                <f:facet name = "header">Parameters:</f:facet>
                                <ui:repeat var="productParametr" value="#{listProductController.getParamByProductId(product.id)}">
                                <h:outputText value="#{productParametr.parameter.value} : #{productParametr.value}"
                                             />
                                </ui:repeat>
                            </h:column>

                            <h:column>
                                <f:facet name = "header">Price:</f:facet>
                                <h:outputText value="#{product.price}" />
                            </h:column>


                                <h:column>
                                    <f:facet name = "header">Edit:</f:facet>
                               <h:commandButton value = "Edit Product"
                                                action = "#{productController.edit()}"
                               >
                                    <f:param name="id" value="#{productController.getAddRequest().id}"/>
                               </h:commandButton>
                                </h:column>

                </h:dataTable>
            <br/>

            </h:form>
</ui:define>
        </ui:composition>
    </h:body>
</f:view>

editProduct.x html

<f:view>

    <f:metadata>
        <f:viewParam name="id" value="#{productController.getAddRequest().id}"/>
    </f:metadata>

    <h:body>

        <ui:composition template="template.xhtml">
            <ui:define name="content">

                <h:form>

                    <h:inputHidden value="#{productController.getAddRequest().id}" />

                    <div class="wrap-login100" align="center">
                        <h:outputLabel for="id" value = "Id: "/>
                        #{productController.getAddRequest().id}
                    </div>

                    <div class="wrap-login100" align="center">
                        <h:outputLabel for="title" value = "Title: "/>
                            <h:inputText id="title" value="#{productController.getAddRequest().title}"/>
                        </div>



                    <div class="wrap-login100" align="center">
                        <h:outputLabel for="description" value = "Description: "/>
                        <h:inputText id="description" value="#{productController.getAddRequest().description}"/>
                    </div>


                    <div class="wrap-login100" align="center">
                        <h:outputLabel for="price" value = "Price: "/>
                            <h:inputText id="price" value="#{productController.getAddRequest().price}" />
                    </div>


                    <div class="wrap-login100" align="center">
                            <h:commandButton value = "Edit Product"
                                             action = "#{productController.editProduct()}"
                            >
                            </h:commandButton>
                    </div>

                    <br/>

                </h:form>

            </ui:define>
        </ui:composition>
    </h:body>
</f:view>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...