你可以将JSF应用程序集成到jdbc。 JDBC允许你将数据存储到数据库表中。
在本教程中, 我们将创建一个应用程序并创建jdbc连接以存储用户输入的数据。
该应用程序包含用户输入表单, 托管Bean, 响应页面和以下步骤。
创建数据库和表
我们已经使用mysql数据库创建数据库和表。
创建数据库
create database Emp;
文章图片
选择数据库
use Emp
建立表格
create table user(id int not null auto_increment primary key, name varchar(100) not null, email varchar(50) not null );
文章图片
见表结构
desc user;
文章图片
创建数据库和表之后, 现在创建一个用户表单以获取用户输入。
建立表格
// index.xhtml
<
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<
h:head>
<
title>
User Form<
/title>
<
/h:head>
<
h:body>
<
h:form>
<
h:outputLabel for="username" value="http://www.srcmini.com/User Name"/>
<
h:inputText id="username" value="http://www.srcmini.com/#{user.userName}">
<
/h:inputText>
<
br/>
<
h:outputLabel for="email" value="http://www.srcmini.com/Email ID"/>
<
h:inputText id="email" value="http://www.srcmini.com/#{user.email}">
<
/h:inputText>
<
br/>
<
br/>
<
h:commandButton action="#{user.submit()}" value="http://www.srcmini.com/submit"/>
<
/h:form>
<
/h:body>
<
/html>
创建一个被管理的豆
该文件还包含属性, 数据库连接和页面导航。
// User.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ReferencedBean;
@ManagedBean
@ReferencedBean
public class User {
String userName;
String email;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}public boolean save(){
int result = 0;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/Emp", "root", "mysql");
PreparedStatement stmt = con.prepareStatement("insert into user(name, email) values(?, ?)");
stmt.setString(1, this.getUserName());
stmt.setString(2, this.getEmail());
result = stmt.executeUpdate();
}catch(Exception e){
System.out.println(e);
}
if(result == 1){
return true;
}else return false;
}public String submit(){
if(this.save()){
return "response.xhtml";
}else return "index.xhtml";
}
}
创建响应页面
// response.xhtml
<
?xml version='1.0' encoding='UTF-8' ?>
<
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<
h:head>
<
title>
Response Page<
/title>
<
/h:head>
<
h:body>
<
h1>
<
h:outputText value="http://www.srcmini.com/Hello #{user.userName}"/>
<
/h1>
<
h:outputText value="http://www.srcmini.com/Your Record has been Saved Successfully!"/>
<
/h:body>
<
/html>
输出:
用户表格(索引页)
文章图片
回应页面
文章图片
现在, 你可以在表中看到数据。
select * from user
文章图片
【JSF JDBC连接】可以了, 好了!数据已插入。
推荐阅读
- JavaServer Faces生命周期
- JSF h:inputTextarea标记
- JSF h:inputText标签
- JSF h:inputSecret标记
- JSF h:inputHidden标记
- JSF h:inputFile标记
- HTML5友好标记
- JSF 标记
- JSF h:form标记