基于数字值显示字符串
Display String based in number value
我正在使用此 h:selectOneMenu
将值设置到数据库中。
<h:selectOneMenu id="role" value="#{profile.accountData.role}">
<f:selectItem itemLabel="User" itemValue="0" />
<f:selectItem itemLabel="Developer" itemValue="1" />
<f:selectItem itemLabel="Sales" itemValue="2" />
<f:selectItem itemLabel="Administrator" itemValue="3" />
<f:selectItem itemLabel="Super user" itemValue="4" />
</h:selectOneMenu>
如何根据我使用 h:selectOneMenu
设置的 int 值将字符串显示为 h:outputText
?
h:outputText
一种方法是在后端 bean 中添加一些方法:
- 创建一个方法,其中 returns 一个
Map<Integer, String>
的值显示在 selectOneMenu
- 初始化
selectItem
值的方法是 returns 来自上一个 Map
的 List<SelectItem>
- 创建一个方法,其中 returns
String
通过在地图中获取 从项目值(整数)中检索项目名称
初始化地图的方法
public Map<Integer, String> getMapOfItem() {
Map<Integer, String> mapOfItem = new HashMap<>();
// Initialize items
mapOfItem.put(0, "User");
mapOfItem.put(1, "Developer");
mapOfItem.put(2, "Sales");
mapOfItem.put(3, "Administrator");
mapOfItem.put(4, "Super user");
return mapOfItem;
}
初始化 selectItem
值的方法
public List<SelectItem> getLstOfItem() {
List<SelectItem> lstOfItem = new ArrayList<>();
for (Map.Entry<Integer, String> entry : getMapOfItem().entrySet()) {
lstOfItem.add(new SelectItem(entry.getKey(), entry.getValue()));
}
return lstOfItem;
}
将 int
值转换为其对应标签的方法
public String itemName(int val) {
return getMapOfItem().get(val);
}
在你的 JSF 视图中,像这样调用它(bean
是你的后端 bean)
<h:selectOneMenu id="role" value="#{profile.accountData.role}">
<f:selectItems value="#{bean.lstOfItem}"/>
</h:selectOneMenu>
和 h:outputText
<h:outputText value="#{bean.itemName(profile.accountData.role)}"/>
希望对您有所帮助
我正在使用此 h:selectOneMenu
将值设置到数据库中。
<h:selectOneMenu id="role" value="#{profile.accountData.role}">
<f:selectItem itemLabel="User" itemValue="0" />
<f:selectItem itemLabel="Developer" itemValue="1" />
<f:selectItem itemLabel="Sales" itemValue="2" />
<f:selectItem itemLabel="Administrator" itemValue="3" />
<f:selectItem itemLabel="Super user" itemValue="4" />
</h:selectOneMenu>
如何根据我使用 h:selectOneMenu
设置的 int 值将字符串显示为 h:outputText
?
h:outputText
一种方法是在后端 bean 中添加一些方法:
- 创建一个方法,其中 returns 一个
Map<Integer, String>
的值显示在selectOneMenu
- 初始化
selectItem
值的方法是 returns 来自上一个Map
的 - 创建一个方法,其中 returns
String
通过在地图中获取 从项目值(整数)中检索项目名称
List<SelectItem>
初始化地图的方法
public Map<Integer, String> getMapOfItem() {
Map<Integer, String> mapOfItem = new HashMap<>();
// Initialize items
mapOfItem.put(0, "User");
mapOfItem.put(1, "Developer");
mapOfItem.put(2, "Sales");
mapOfItem.put(3, "Administrator");
mapOfItem.put(4, "Super user");
return mapOfItem;
}
初始化 selectItem
值的方法
public List<SelectItem> getLstOfItem() {
List<SelectItem> lstOfItem = new ArrayList<>();
for (Map.Entry<Integer, String> entry : getMapOfItem().entrySet()) {
lstOfItem.add(new SelectItem(entry.getKey(), entry.getValue()));
}
return lstOfItem;
}
将 int
值转换为其对应标签的方法
public String itemName(int val) {
return getMapOfItem().get(val);
}
在你的 JSF 视图中,像这样调用它(bean
是你的后端 bean)
<h:selectOneMenu id="role" value="#{profile.accountData.role}">
<f:selectItems value="#{bean.lstOfItem}"/>
</h:selectOneMenu>
和 h:outputText
<h:outputText value="#{bean.itemName(profile.accountData.role)}"/>
希望对您有所帮助