如何保存到数据库(derby)JSF
我正在尝试学习如何将jsf用于数据库,我有一些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
<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>