1

以下工作,但是当点击创建按钮时,它会提交一个包含所有空字段的记录

<f:view>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>New Movie</title>
        <link rel="stylesheet" type="text/css" href="/diamondfilms.com.ar/faces/jsfcrud.css" />
    </head>
    <body>
    <h:panelGroup id="messagePanel" layout="block">
        <h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
    </h:panelGroup>
    <h1>New Movie</h1>
            <h:form>
        <h:inputHidden id="validateCreateField" validator="#{movie.validateCreate}" value="value"/>
        <h:panelGrid columns="2">
            <h:outputText value="Name:"/>
            <h:inputText id="name" value="#{movie.movie.name}" title="Name" />
            <h:outputText value="Sinopsis:"/>
            <h:inputText id="sinopsis" value="#{movie.movie.sinopsis}" title="Sinopsis" />
            <h:outputText value="Cast:"/>
            <h:inputText id="cast" value="#{movie.movie.cast}" title="Cast" />
            <h:outputText value="Trailer:"/>
            <h:inputText id="trailer" value="#{movie.movie.trailer}" title="Trailer" />
            <h:outputText value="Release:"/>
            <h:selectOneRadio id="release" value="#{movie.movie.release}" title="Release">
                <f:selectItem itemLabel="YES" itemValue="S" />
                <f:selectItem itemLabel="NO" itemValue="N" />
            </h:selectOneRadio>
            <h:outputText value="Facebook Button:"/>
            <h:inputText id="imagen6" value="#{movie.movie.facebookButton}" title="Image6" />       
         <h:form id="calendarForm2">
            <h:outputLabel for="releaseDate" value="Date (MM/dd/yyyy HH:mm:ss): "/>
            <t:inputCalendar id="releaseDate" monthYearRowClass="yearMonthHeader" weekRowClass="weekHeader" popupButtonStyleClass="standard_bold"
                currentDayCellClass="currentDayCell" value="#{movie.movie.releaseDate}" renderAsPopup="true"
                popupTodayString="Hoy :"
                popupDateFormat="MM/dd/yyyy" popupWeekString="Semana :"
                helpText="MM/DD/YYYY"
                forceId="true">
              <f:convertDateTime pattern="MM/dd/yyyy HH:mm:ss" />
            </t:inputCalendar>
         </h:form>
      </h:panelGrid>
     </h:form>                
            <h:form id="uploadForm1" enctype="multipart/form-data" >
                <h:outputText value="Image1:"/>
                <t:inputFileUpload id="file" value="#{movie.upLoad.upFile}" required="true" />
                <h:commandButton value="Upload" action="#{movie.upLoadFile}" />
           </h:form>
        <h:form>
        <br />
        <h:commandLink action="#{movie.create}" value="Create"/>
        <br />
        <br />
        <h:commandLink action="#{movie.listSetup}" value="Show All Movie Items" immediate="true"/>
        <br />
        <br />
        <h:commandLink value="Index" action="welcome" immediate="true" />
    </h:form>
    </body>
</html>

在哪里:

private MovieFacade jpaController = null;

@Resource
private UserTransaction utx = null;

    public String create() {
    try {
        utx.begin();
    } catch (Exception ex) {
    }
    try {
        Exception transactionException = null;
        jpaController.create(pelicula);
        try {
            utx.commit();
        } catch (javax.transaction.RollbackException ex) {
            transactionException = ex;
        } catch (Exception ex) {
        }
        if (transactionException == null) {
            JsfUtil.addSuccessMessage("Movie was successfully created.");
        } else {
            JsfUtil.ensureAddErrorMessage(transactionException, "A persistence error occurred.");
        }
    } catch (Exception e) {
        try {
            utx.rollback();
        } catch (Exception ex) {
        }
        JsfUtil.ensureAddErrorMessage(e, "A persistence error occurred.");
        return null;
    }
    return listSetup();
}

它甚至验证非常感谢您!

4

1 回答 1

0

您的创建按钮与输入值的形式不同。您需要将感兴趣的输入以与命令链接/按钮相同的形式放置。

于 2011-05-18T11:25:50.447 回答