【问题标题】:How to save to a database (derby) JSF如何保存到数据库(德比)JSF
【发布时间】:2013-11-05 22:30:15
【问题描述】:

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

我要做的是制作一个简单的页面,用户在其中输入一些详细信息,然后将其存储到数据库中,如果您愿意,也许在后期可以编辑和删除这些简单的 CRUD 程序

目前我有这个 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>  

上面的页面只是一些输入框供用户输入他们的详细信息,我有一些验证,虽然我想稍后添加更多,并且发送它的 bean 具有所有 getter 和 setter,以及打印出控制台中的值,所以我知道它已经传递给 bean ok

我想做的是将这些添加到数据库中,我必须使用 netbeans 和 JSF 附带的那个(Java db,derby)

我已经创建了一个数据库和一个表来插入这些值,

CREATE TABLE userdetails (
  id INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
  "username" VARCHAR(15) NOT NULL,
  "firstname" VARCHAR(15) NOT NULL,
  "surname" VARCHAR(15) NOT NULL,
  "emailaddress" VARCHAR(25) NOT NULL,
  "address" VARCHAR(50) NOT NULL,
"postcode" VARCHAR(8) NOT NULL,
"phonenumber" VARCHAR(15) NOT NULL
);

所有用户都必须有一个唯一的 ID。但他们不知道这个

我在 glassfish 中设置了一个新的 jdbc 连接池

pool name : airlinebooking
resource type : javax.sql.DataSource
database driver vendor : derby

在我拥有的属性中

portnumber
servername
databasename
password
user

我可以 ping 到数据库就好了

我还创建了 jdbc 资源

JNDI name jdbc/AirlineBooking
Pool name DerbyPool

使用 glassfish 设置是否可以,我已按照一些教程进行设置

所以主要问题是,我怎样才能将用户输入的值输入数据库?

【问题讨论】:

    标签: jsf jsf-2 primefaces glassfish derby


    【解决方案1】:

    Facelets 以及所有 JSF 都专注于用户界面,这主要是与视图相关的问题。数据库是应用程序的另一端,JSF 和 PrimeFaces 都与数据库的通信没有任何关系……但是,如果您查看PrimeFaces showcase website,您会发现如何提供一些自定义数据或来自您的用户。这还不是与数据库的连接,但如果你足够聪明,你应该很快了解如何使用 JDBC 连接(这里是 brief tutorial),甚至是 JPA/Hibernate 持久性(here)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-01
      • 1970-01-01
      • 2015-06-23
      • 1970-01-01
      • 1970-01-01
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多