社区首页 >问答首页 >Primefaces SelectCheckboxMenu空值

Primefaces SelectCheckboxMenu空值
EN

Stack Overflow用户
提问于 2014-07-10 10:28:27
回答 1查看 1.5K关注 0票数 0

我试图从selectCheckboxMenu中获取选定的值,但在控制台中得到的结果为null。它也不适用于selectOneMenu。这是我的jsf表单:

代码语言:javascript
代码运行次数:0
复制
<h:form id="mmaster">
        <p:dataTable
        value="#{devicesBean.devices}" 
        var="dev"
        widgetVar="dt"
        border="1" 
        paginator="true"
        paginatorPosition="top"
        rows="10"
        >
            <f:facet name="header">Devices</f:facet>
                        <p:column headerText="UDN" sortBy="#{dev.deviceUDN}" filterBy="#{dev.deviceUDN}" filterMatchMode="contains" emptyMessage="No Devices Found">
                <h:outputText value="#{dev.deviceUDN}" />
            </p:column>
            <p:column headerText="FriendlyName" sortBy="#{dev.deviceFriendlyName}" filterBy="#{dev.deviceFriendlyName}" filterMatchMode="contains">
                <h:outputText value="#{dev.deviceFriendlyName}" />
            </p:column>
            <p:column headerText="Model" sortBy="#{dev.deviceModel}" filterBy="#{dev.deviceModel}" filterMatchMode="contains">
                <h:outputText value="#{dev.deviceModel}" />
            </p:column>
            <p:column headerText="Manufacturer" sortBy="#{dev.deviceManufacturer}" filterBy="#{dev.deviceManufacturer}" filterMatchMode="contains">
                <h:outputText value="#{dev.deviceManufacturer}" />
            </p:column>
            <p:column headerText="Type" sortBy="#{dev.deviceType}" filterBy="#{dev.deviceType}" filterMatchMode="contains">
                <h:outputText value="#{dev.deviceType}" />
            </p:column>
        <p:column headerText="Actions">
        <p:selectCheckboxMenu value="#{devicesBean.selectAnnotations}">
        <f:selectItems value="#{devicesBean.annotations}" />
        </p:selectCheckboxMenu>           
        </p:column>
        <p:column>
        <p:commandButton value="Annotate" action="#{devicesBean.doSave}" process="@this">
        <f:setPropertyActionListener value="#{dev}" target="#{devicesBean.device}" />
        </p:commandButton> 
        </p:column>
    </p:dataTable>
</h:form>

我想知道bean的作用域是否有问题,这就是我的托管bean:

代码语言:javascript
代码运行次数:0
复制
@ManagedBean
public class DevicesBean implements Serializable {

    private static final long serialVersionUID = 1L;
    private List<Device> devices;
    private List<String> annotations;
    private List<String> selectAnnotations = new ArrayList<String>();
    private Device device;

    @EJB
    IOntoProcessor iop;
    @EJB
    IDevicesDao idd;

    public DevicesBean() {
    }

    @PostConstruct
    public void init() {
        setDevices(idd.getAllDevices());
        setAnnotations(iop.getAllAnnotations());
    }

    public List<Device> getDevices() {
        return devices;
    }

    public void setDevices(List<Device> devices) {
        this.devices = devices;
    }

    public List<String> getAnnotations() {
        return annotations;
    }

    public void setAnnotations(List<String> annotations) {
        this.annotations = annotations;
    }

    public Device getDevice() {
        return device;
    }

    public void setDevice(Device device) {
        this.device = device;
    }

    public List<String> getSelectAnnotations() {
        return selectAnnotations;
    }

    public void setSelectAnnotations(List<String> selectAnnotations) {
        this.selectAnnotations = selectAnnotations;
    }

    public void doSave() {
        System.out.println(selectAnnotations);
        System.out.println(device);
        selectAnnotations = new ArrayList<String>();
    }

}
EN

回答 1

Stack Overflow用户

发布于 2014-07-10 11:38:29

您正在尝试通过Button with value Annotate提交表单,该按钮已指定为仅处理自身:

这将只处理按钮及其关联的表单参数,而不处理表单中的其他元素。

代码语言:javascript
代码运行次数:0
复制
<p:commandButton value="Annotate" action="#{devicesBean.doSave}" process="@this">
    <f:setPropertyActionListener value="#{dev}" target="#{devicesBean.device}" />
</p:commandButton> 

请删除process="@this",或将其替换为process="@form"

代码语言:javascript
代码运行次数:0
复制
<p:commandButton value="Annotate" action="#{devicesBean.doSave}" process="@form">
    <f:setPropertyActionListener value="#{dev}" target="#{devicesBean.device}" />
</p:commandButton> 

第二,声明您的托管bean作用域:@RequestScope@SessionScoped都可以很好地工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24674192

复制
相关文章
[深入解析C#] 可空值类型
Tony Hoare于1965年在Algol语言中首次引入了null引用的概念,后来他把这项举措称为“十亿美金的过失”。无数开发人员饱受NullReferenceException(.NET)、NullPointerException(Java)等的折磨。由于此类问题的普遍性,Stack Overflow上有大量与之相关的典型问题。既然可空特性如此声名狼藉,为何C# 2以及.NET 2.0要引入可空值类型呢?
科控物联
2022/03/29
2.3K0
python 空值判断
在Python中,None、空列表[]、空字典{}、空元组()、0等一系列代表空和无的对象会被转换成False。除此之外的其它对象都会被转化成True。python变量初始化为空值分别是: 数值 digital_value = 0 字符串 str_value = "" 列表 list_value = [] 字典 ditc_value = {} 元组 tuple_value = () Python中关于空类型的判断使用的内建函数any(), any(iterable) Return True if any element of the iterable is true. If the iterable is empty, return False. Equivalent to:
用户5760343
2022/05/14
4.4K0
fastjson输出空值
在fastjson中,缺省是不输出空值的。无论Map中的null和对象属性中的null,序列化的时候都会被忽略不输出,这样会减少产生文本的大小。但如果需要输出空值怎么做呢?
johnhuster的分享
2022/03/28
1.5K0
springboot自动判定空值
搭建springboot项目,我们都是采用的Restful接口,那么问题来了,当前端调用接口或者是其他项目调用时,我们不能单一靠调用方来控制参数的准确性,自己也要对一些非空的 值进行判定。
IT小马哥
2021/03/03
3.9K0
dataframe填充缺失值_pandas填充空值
将其Nan全部填充为0,这时再打印的话会发现根本未填充,这是因为没有加上参数inplace参数。
全栈程序员站长
2022/09/22
2.8K0
C#可空值类型
1. 可空类型修饰符(?)   引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。   例如:string str=null; 是正确的,int i=null; 编译器就会报错。
_一级菜鸟
2021/08/10
1.4K0
Elasticsearch 空值处理实战指南
Accepts a string value which is substituted for any explicit null values. Defaults to null, which means the field is treated as missing.
铭毅天下
2020/11/19
4K0
Elasticsearch 空值处理实战指南
空值合并运算符(??)
使用空值合并运算符为常量提供默认值,保证常量不为 null 或者 undefined。
用户9914333
2022/12/14
1.4K0
空值合并运算符(??)
TypeScript 空值合并运算符(??)
一、一个简单的组件 让我们从一个简单的组件开始: type Person = { name: string, subscription?: Subscription }; type Subs
阿宝哥
2020/03/18
3.6K0
PG的空值相加如何实现
PostgreSQL数据库中,对于NULL值相加的处理:任何数值和NULL相加都得NULL。
yzsDBA
2022/04/27
2.3K0
SQL学习之空值(Null)检索
在创建表表,我们可以指定其中的列包不包含值,在一列不包含值时,我们可以称其包含空值null。 确定值是否为null,不能简单的检查是否=null。select语句有一个特殊的where子句,可用来检查
郑小超.
2018/01/24
1.8K0
SQL学习之空值(Null)检索
null或空值的判断处理
1,错误用法一: if (name == "") {      //do something } 2,错误用法二: if (name.equals("")) {      //do something } 3,错误用法三: if (!name.equals("")) {      //do something } 我们来解说一下: 上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程序出现bug,永远也不会为true,也就是时说,if块里的语句永远也不会被执行。 上述用法二,用法三 的写法,是包括很多Java熟手也很容易犯的错误,为什么是错误的呢?也许你会感到纳闷。 对,它们的写法本身没错,但是,少了一个null判断的条件,试想,如果name=null的情况下,会发生什么后果呢?后果是,你的程序将抛出NullPointerException异常,系统将被挂起,不再提供正常服务。 当然,如果之前已经对name作了null判断的情况例外。 正确的写法应该先加上name != null的条件,如例: if (name != null && !name.equals("")) {      //do something } 或者 if (!"".equals(name)) {//将""写在前头,这样,不管name是否为null,都不会出错。      //do something } 下面,我们举一个简单的例子: TestNullOrEmpty.java
似水的流年
2019/12/08
3.4K0
如何优雅判断属性值为空
假设我们现在需要取出 a.b.c,但是并不清楚它们是否都存在,那么代码会写成这样:
前端达人
2019/12/24
4K0
如何优雅判断属性值为空
使用Optioanl优雅的处理空值
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
chenchenchen
2019/11/12
1.9K0
JavaScript空值合并运算符
今年ECMAScript[1] 2020(ES2020)将发布!自 2015 年 ECMAScript 2015(ES6)发布以来,我们每年都对 JavaScript 语言进行更新。
疯狂的技术宅
2020/08/13
1.5K0
JavaScript空值合并运算符
null或空值的判断处理
1,错误用法一: if (name == "") {      //do something } 2,错误用法二: if (name.equals("")) {      //do something } 3,错误用法三: if (!name.equals("")) {      //do something } 我们来解说一下: 上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程序出现bug,永远也不会为true,也就是时说,if块里的语句永远也不会被执行。 上述用法二,用法三 的写法,是包括很多Java熟手也很容易犯的错误,为什么是错误的呢?也许你会感到纳闷。 对,它们的写法本身没错,但是,少了一个null判断的条件,试想,如果name=null的情况下,会发生什么后果呢?后果是,你的程序将抛出NullPointerException异常,系统将被挂起,不再提供正常服务。 当然,如果之前已经对name作了null判断的情况例外。 正确的写法应该先加上name != null的条件,如例: if (name != null && !name.equals("")) {      //do something } 或者 if (!"".equals(name)) {//将""写在前头,这样,不管name是否为null,都不会出错。      //do something } 下面,我们举一个简单的例子: TestNullOrEmpty.java
似水的流年
2018/01/14
3.1K0
null或空值的判断处理
1,错误用法一: if (name == "") {      //do something } 2,错误用法二: if (name.equals("")) {      //do something } 3,错误用法三: if (!name.equals("")) {      //do something } 我们来解说一下: 上述错误用法1是初学者最容易犯,也最不容易被发现的错误,因为它们的语法本身没问题,Java编译器编译时不报错。但这种条件可能在运行时导致程
似水的流年
2018/01/18
3.6K0
PostgreSQL中索引是否存储空值?
偶然在PostgreSQL官方文档上看到这句话:an IS NULL or IS NOT NULL condition on an index column can be used with a B-Tree index。
数据库架构之美
2021/03/16
2.4K0
MySQL 中NULL和空值的区别?
作为后台开发,在日常工作中如果要接触Mysql数据库,那么不可避免会遇到Mysql中的NULL和空值。那你知道它们有什么区别吗?
全栈程序员站长
2022/07/20
2.7K0
MySQL 中NULL和空值的区别?
点击加载更多

相似问题

PrimeFaces selectCheckboxMenu: toggleSelect actionListener中的旧值

67

通过JavaScript更新PrimeFaces selectCheckboxMenu

16

selectCheckboxMenu primefaces返回空列表

10

Primefaces 3.5 selectCheckBoxMenu call event onShow

10

primefaces selectCheckboxMenu显示不正确

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文