当前位置: 首页 > 知识库问答 >
问题:

setter方法返回类型必须为void吗?

殷浩慨
2023-03-14

为了方便起见,我将setter方法返回类型更改为对象,例如:obj.setvalue(newVal).setname(newName).setid(newId);

但在tomcat做出这一改变之后

PropertyNotFoundException:

    /WEB-INF/flows/materialorder/newOrder.xhtml @99,182 
value="#{materailOrdService.mofEntity.nmExplanation.value}": 
Property 'value' not writable on type tr.com.hydron.softexpert.order.model.MainFormEntity$MofField

为了消除这个异常,我将修饰符从private更改为public,但仍然得到相同的错误。所以我有两个问题;

    null
public static class MofField implements Serializable{

    private static final long serialVersionUID = 1L;
    public Object value;
    ...    


    public Object getValue() {
        return value;
    }
    public MofField setValue(Object value) {
        this.value = value;
        return this;
    }       
    ...     
}
<p:inputTextarea valueChangeListener="#{materailOrdService.onExplanationChange}"  value="#{materailOrdService.mofEntity.nmExplanation.value}" rows="3" cols="38" >
    <p:ajax event="valueChange" global="false" immediate="true" partialSubmit="true" process="@this"  />
</p:inputTextarea>

共有1个答案

家西岭
2023-03-14

jsf是否需要setter来修改对象,即使它的修饰符是public的?

简短的回答:是的。

按照惯例,Bean的每个字段都应该是私有的,并由相应的getter和setter访问/修改。

对于修改对象值的jsf,setter方法返回类型必须是void吗?

是,服务器将搜索void包含void的签名。试试看。

 类似资料:
  • 我想创建一个任务来运行串行命令。此时,我不需要从正在进行工作的方法返回任何内容。这可能会在以后发生变化,但我现在很好奇这是如何发生的。 这就是我所拥有的。我想为任务使用单独的方法,而不是创建匿名操作。我尝试返回void,结果是“void不能显式转换为任务”。我也试过了<代码>任务 在此过程中,我使用了一个线程来完成这项任务,但这次我想使用任务。 预计到达时间: 最后,这是我的完整解决方案

  • 问题内容: 我正在创建脚本的双向链接列表,这些脚本应该具有自己的实现,并且在准备就绪时会调用下一个脚本。我想创建的脚本之一只是一个延迟。看起来像这样: 下一个要运行的脚本在哪里。问题是,如果我删除了dispatch_after的最后一行,它就不会编译,这是因为可选链的返回类型已更改]。我随机决定插入并解决了问题,但我不知道为什么。 这是什么,这是正确的解决方案吗? 问题答案: 可选链接将右侧结果放

  • 问题内容: 它返回此错误:此方法必须返回boolean类型的结果。我究竟做错了什么? 问题答案: 现在,不能保证该函数返回a ,因为很可能不会输入任何一条语句。 您可以像这样修复它(但 只有 在您的逻辑确实需要它的情况下 才 这样做):

  • 我正在为一个班级作业制作一个石头剪刀游戏,我正在尝试编写一个方法,根据用户获胜、计算机获胜还是平局,返回整数1、2或3。我们不能简单地返回信息“你赢了!”或者“你输了!”或“平局!”在该方法中,我们必须返回整数。然而,当我这样键入代码时,Eclipse中会出现一个编译器错误警告,告诉我“此方法必须返回int类型的结果。”这不是我在这里要做的吗?帮助谢谢

  • 我有3个DB表,我没有在其中任何一个表上添加任何关系。然后我编写了以下代码: 它应该创建一个新用户,然后查看谁邀请了他,然后与邀请者创建一个共享记录。 但是当我测试它时,我得到了一个错误: 逻辑异常 关系方法必须返回类型为照明\数据库\雄辩\关系\关系的对象 打开:/home/oneinfin/public\u html/diasis/vendor/laravel/framework/src/il

  • 问题内容: 由于在Java中使用了泛型,我最终不得不实现一个具有as返回类型的函数: 并且编译器要求我返回 一些东西 。现在我只是返回,但是我想知道这是否是好的编码实践… 我问的是 V oid,而不是 V oid。类, 而不是 保留关键字。 我也试过,,,,没有回报可言,但都不会在所有的工作。(出于或多或少明显的原因) 那么,如果函数的返回类型为,我应该返回什么呢? 该课程的一般用途是什么? 问题