JSF:禁用组件时,其值不计入请求映射参数。有解决方法吗?

【字号: 日期:2024-02-26浏览:52作者:雯心
如何解决JSF:禁用组件时,其值不计入请求映射参数。有解决方法吗??

正如Adrian Mitev在评论中指出的那样,禁用该selectBooleanCheckBox组件将意味着它不会在表单提交中发布其值。

但是,您可以做的是有一个隐藏的输入字段,您可以在其中将值设置为与复选框相同的托管bean属性。

<h:inputHidden value='#{managedBean.someValue}' />

如果禁用了复选框,则可以使用Javascript设置此隐藏输入的值。

解决方法

我有一个下拉列表p:selectonemenu和一个复选框p:selectbooleancheckbox,当我选择该复选框时,我想将其设置selectonemenu为特定值。而且我不希望用户更改它,因此我将selectonemenudisabled属性设置为true。但是,当它被禁用时,它的值不会出现在请求参数映射中(当我这样做时)facescontext.getcurrentinstance().getexternalcontext().getrequestparametermap(),并且我需要此映射的值。有办法解决这个问题吗?

我将字体结尾写入到旧版Servlet系统中,在该系统中它们使用请求映射参数来获取表单属性值。

相关文章: