可以使用以下方法,但是单击“创建”按钮时,它将提交具有所有空字段的记录
<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();
}
它甚至可以验证
非常感谢你!!
最佳答案
您的创建按钮与输入值的格式不同。您需要以与命令链接/按钮相同的形式放置感兴趣的输入。