如何保存到数据库(derby)JSF

如何保存到数据库(derby)JSF,jsf,jsf-2,primefaces,glassfish,derby,Jsf,Jsf 2,Primefaces,Glassfish,Derby,我正在尝试学习如何将jsf用于数据库,我有一些jsf经验,但与数据库无关 <h:outputText value="Enter your username : " /> <h:inputText value="#{getDetails.username}" required="true" requiredM

我正在尝试学习如何将jsf用于数据库,我有一些jsf经验,但与数据库无关

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  
我想做的是制作一个简单的页面,用户在其中输入一些细节,然后将其存储到数据库中,如果您愿意,也许在后期可以通过一个简单的CRUD程序编辑和删除这些内容

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  
目前我有这个xhtml页面

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  



                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  
所有用户必须具有唯一的ID,但他们不知道这一点

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  
我已经在glassfish中设置了一个新的jdbc连接池

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  
pool name : airlinebooking
resource type : javax.sql.DataSource
database driver vendor : derby
在我拥有的财产中

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  
portnumber
servername
databasename
password
user
我能ping到数据库就好了

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  
我还创建了jdbc资源

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  
JNDI name jdbc/AirlineBooking
Pool name DerbyPool
使用glassfish可以设置吗?我已经按照一些教程进行了设置

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>  

因此,主要的问题是,如何将用户输入的值获取到数据库中?

Facelets以及所有JSF都关注用户界面,这主要是与视图相关的问题。数据库是应用程序的另一端,JSF和PrimeFaces都与数据库通信无关。。。然而,如果你环顾四周,你会发现如何向用户或从用户那里提供一些定制的数据。这还不是与数据库的连接,但如果您足够聪明,您应该很快了解如何使用JDBC连接(这里是),甚至JPA/Hibernate持久性()

                         <h:outputText value="Enter your username : " />
                        <h:inputText value="#{getDetails.username}" required="true" 
                                     requiredMessage="Username is required" />

                        <h:outputText value="Enter your first name : " />
                        <h:inputText value="#{getDetails.name}" required="true" 
                                     requiredMessage="First name is required" />

                        <h:outputText value="Enter your surname : " />
                        <h:inputText value="#{getDetails.surname}" required="true" 
                                     requiredMessage="Surname is required" />

                        <h:outputText value="Enter email address : "/>
                        <h:inputText id="email" value="#{getDetails.email}" 
                                     size="20" required="true" label="Email Address">
                            <f:validator validatorId="richard.validator.EmailValidator" />
                        </h:inputText>
                        <h:outputText value="Enter your address : "/>
                        <h:inputText value="#{getDetails.address}" required="true" 
                                     requiredMessage="Address is required" /> 

                        <h:outputText value="Enter a valid U.K. postcode : "/>
                        <h:inputText value="#{getDetails.postcode}" required="true" 
                                     requiredMessage="A valid U.K. post code is required" /> 

                        <h:outputText value="Enter a contact number : "/>
                        <h:inputText value="#{getDetails.phonenumber}" required="true" 
                                     requiredMessage="A valid phonenumber is required" />   


                    </h:panelGrid>  

                    <p:commandButton value="Save" action="#{getDetails.add}" update="growl"  />  
                </p:panel>  

            </h:form>