- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在附加到下拉列表的 ValueChangeListener 时遇到问题。
这是代码:
<h:selectOneMenu
value = "#{MultiFileSelectMgmtBean.selectedLocationName}"
valueChangeListener = "#{MultiFileSelectMgmtBean.LocationChangeEvent}"
onchange = "submit();"
>
<f:selectItems
value = "#{MultiFileSelectMgmtBean.locationsListItems}">
</f:selectItems>
</h:selectOneMenu>
这是支持 bean:
protected List<SelectItem> locationsListItems;
...
public void LocationChangeEvent( ValueChangeEvent vce ) throws Exception
{
selectedLocationName = (String) vce.getNewValue();
}
问题是“selectedLocationName”获取“11”或“13”值,即使下拉列表中填充了两个字符串“LocationTest1”和“LocationTest2”。
vce.getNewValue 可能存在什么问题?
最佳答案
下拉列表的提交值是选项value,而不是您想象的选项label。请注意,该方法也称为 getNewValue()
,不是getNewLabel()
。选项标签不通过 HTML 表单提交通过 HTTP 从客户端发送到服务器。无法从 HTTP 请求中提取它们。
如果由于某些不清楚的原因您确实需要选项标签而不是选项值,那么您要么需要在创建选择项时使用它而不是选项值,要么需要映射与选项值在某处,以便您可以通过此映射中的值获取标签。很有可能您的 bean 中已经有这种映射,否则您将无法填充 <f:selectItems>
值:)
与具体问题无关: <h:selectOneMenu>
的组合,一个valueChangeListener
和onchange="submit()"
表示您正在使用 JSF 1.x 特定的 hack 来实现根据下拉列表的更改填充另一个下拉列表或字段的功能要求。由于您似乎已经在使用 JSF 2.x,我建议您完全忘记这种方法,只使用 <f:ajax listener>
反而。上述链接的 wiki 页面包含一个示例。
关于java - ValueChangeEvent.getNewValue() 未从 JSF 2 中的下拉列表中返回正确的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9777353/
在我的 jsf 页面中,我有一个输入文本字段和一个隐藏字段。我有一个编辑按钮,单击编辑按钮后会出现一个弹出屏幕,我选择一个值,所选值返回到我的隐藏字段。 我向隐藏字段添加了一个 valueChange
我正在使用 Vaadin 和 MySQL 数据库。我将数据库的一个表(仅一列)可视化为一个表,我想单击表行并在单击单行时检索特定列的值。 //Database Connection Class ...
我的 bean 中有以下方法 public void valueChange(ValueChangeEvent event){ oldValue = (String) even
我正在努力让它发挥作用: @UiField CheckBox showDeleted; @UiHandler("showDeleted") public void onShowDeletedClick
我在附加到下拉列表的 ValueChangeListener 时遇到问题。 这是代码: 这是支持 bean: protected List locationsListItems; ... pu
我试图将 TextField 作为 Editable 组件放在 Grid 的每一行中。但我不知道如何在 ValueChange 事件中回写? 下面是我的代码 SerializableBiCon
我试图将 TextField 作为 Editable 组件放在 Grid 的每一行中。但我不知道如何在 ValueChange 事件中回写? 下面是我的代码 SerializableBiCon
我是一名优秀的程序员,十分优秀!