【问题标题】:Property not found exception - second field is not recognizable for JSF? [duplicate]未找到属性异常 - JSF 无法识别第二个字段? [复制]
【发布时间】:2016-09-18 21:01:32
【问题描述】:

我遇到了奇怪的问题,我不知道为什么会这样,我上课是这样的:

@ManagedBean(name = "clientBean")
@SessionScoped
public class ClientBean implements Serializable {

private static final long serialVersionUID = 1L;

private ClientDao clientDao = new ClientDao();

private SearchService searchService = new SearchService();

private String tags;

private Client client = new Client();

private Order order = new Order();

我有 .xhtml 的一部分:

       <div class="form-group">
        <label style="padding-top: 0px" class="col-sm-3 control-label">Tytuł zamówienia</label>
            <div class="col-sm-9">
                <h:inputText type="text"
                        value="#{clientBean.order.title}"
                        class="form-control" />
                        </div>
                    </div>

            <div class="form-group">
                <label class="col-sm-3 control-label">Status</label>
                  <div class="col-sm-9">
                   <h:inputText type="text" value="PRZETWARZANIE"
                        class="form-control" disabled="true" />
                  </div>
            </div>

问题是...为什么我不能设置值order.titleclient.name 和 Client 类中的其他字段没有问题,但是当我尝试使用订单属性设置表单字段并进入此视图时,会出现此异常(我得到了所有 getter 和 setter):

SEVERE: Error Rendering View[/clients.xhtml]
javax.el.PropertyNotFoundException: /clientRegistration.xhtml @112,67  value="#{clientBean.order.title}": Property 'order' not found on type  com.firanycrm.controller.ClientBean
at  com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:111)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
at javax.faces.component.UIInput.getValue(UIInput.java:291)

【问题讨论】:

  • 仔细检查getOrder()方法的存在和正确的拼写

标签: java jsf jakarta-ee


【解决方案1】:

要让 JSF 获取/设置您的属性,您需要在 ClientBean 类和它引用的类 OrderClient 等中拥有所有的 getter 和 setter。确保您拥有所有这些 getter 和 setter ,如果您使用 Eclipse 之类的 IDE(右键单击 > 源代码 > 生成 getter 和 setter),我建议只生成它们。

【讨论】:

  • 我也有 Eclipse 在 ClientBean 和 Order 类中生成的所有 getter 和 setter..
猜你喜欢
  • 1970-01-01
  • 2019-04-06
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
  • 2013-10-13
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多