JSFドロップダウンボックス
前の时间はちょうど会社を変えて、会社に入ってちょうど1つのプロジェクトがJSFの枠组みを使っていることに出会って、その时プロジェクトのマネージャーは私に基本的ないくつかの情报の処理をさせて、つまり添削して调べます
ただし、作成中は、ユーザー・テーブルとロール・テーブルが関連付けられているため、すべてのユーザーを表示する場合は、対応する関連ロールを表示する必要がありますが、データベースではプライマリ・キー関連であり、名前関連ではありません.JSFページでこれだけでいいと思っていたのに
しかし、実行後、ロールを表示できないことに気づきました.ネットで探して、やっと解決策を見つけた.
JSFページ
バックグラウンドBean
データベース層DAO
JSFプロファイル
ただし、作成中は、ユーザー・テーブルとロール・テーブルが関連付けられているため、すべてのユーザーを表示する場合は、対応する関連ロールを表示する必要がありますが、データベースではプライマリ・キー関連であり、名前関連ではありません.JSFページでこれだけでいいと思っていたのに
<h:column>
<h:dataTable border="1" id = "users" value="#{UserBean.list}" var="u" styleClass="orders" headerClass="ordersHeader" rowClasses="evenColumn,oddColumn">
<f:facet name="header">
<f:verbatim escape="true"> </f:verbatim>
</f:facet>
<h:selectOneMenu value="#{u[1]}">
<f:selectItems value="#{u[1]}"/>
</h:selectOneMenu>
</h:column>
</h:dataTable>
しかし、実行後、ロールを表示できないことに気づきました.ネットで探して、やっと解決策を見つけた.
JSFページ
<h:column>
<h:dataTable border="1" id = "users" value="#{UserBean.list}" var="u" styleClass="orders" headerClass="ordersHeader" rowClasses="evenColumn,oddColumn">
<f:facet name="header">
<f:verbatim escape="true"> </f:verbatim>
</f:facet>
<h:selectOneMenu value="#{u[1]}">
<f:selectItems value="#{#{RoleBean.roleList}}"/>
</h:selectOneMenu>
</h:column>
</h:dataTable>
バックグラウンドBean
public class RoleBean {
public int roleId;
public String roleName;
public String roleRemark;
public String msg;
public List<SelectItem> roleList = new LinkedList<SelectItem>();
public Vector list;
public RoleBean() throws Exception {
if (roleList == null) {
roleList = new LinkedList<SelectItem>();
}
RoleBR rbr = new RoleBR();
Vector v = new Vector();
String id = null;
String name = null;
v = rbr.getAllRoleName();
list = rbr.getAllList();
Iterator it = v.iterator();
while (it.hasNext()) {
String[] row = (String[]) it.next();
for (int i = 0; i < row.length; i++) {
if (i == (i / 2)) {
id = row[i].trim();
name = row[i + 1].trim();
} else {
continue;
}
roleList.add(new SelectItem(id, name));
}
}
}
public int getRoleId() {
return roleId;
}
public void setRoleId(int roleId) {
this.roleId = roleId;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public String getRoleRemark() {
return roleRemark;
}
public void setRoleRemark(String roleRemark) {
this.roleRemark = roleRemark;
}
/**
* create the selectOneMenu for user regrest.jsp
* @return
*/
public List<SelectItem> getRoleList() {
return roleList;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
データベース層DAO
public class RoleDA {
private DBBase theDB = new DBBase();//
private String str_sql = null;
/**
*
* @return
*/
public Vector getAllList() {
Vector result = new Vector();
str_sql = "select t.roleid,t.rolename,t.remark from s_role t";
result = theDB.selectAll(str_sql);
return result;
}
}
JSFプロファイル
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<managed-bean>
<managed-bean-name>RoleBean</managed-bean-name>
<managed-bean-class>ahbagz.bean.RoleBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>