簡體   English   中英

javax.el.PropertyNotWritableException:集合操作的語法非法

[英]javax.el.PropertyNotWritableException: Illegal Syntax for Set Operation

我收到此錯誤“ javax.el.PropertyNotWritableException:/staffComposeMail.xhtml @ 55,218 value =“#{emailBean.staffToEmail.firstName}#{emailBean.staffToEmail.lastName}(#{emailBean.staffToEmail.email})”:非法語法嘗試提交表單時使用“設置操作”。

這是我的頁面的樣子。 帶下划線的紅色文本分別表示emailBean.staffToEmail.firstName,emailBean.staffToEmail.lastName和emailBean.staffToEmail.email。

在此處輸入圖片說明

我的頁面之一內的輸入框

<input type="text" class="form-control" jsf:value="#{emailBean.staffToEmail.firstName} #{emailBean.staffToEmail.lastName} (#{emailBean.staffToEmail.email})"/>

關於如何解決此問題的任何想法?

編輯:在emailBean中添加

package managedbean;

import entities.Staff;
import entities.StaffEmail;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import sessionBeanInterface.emailSessionBeanLocal;
import sessionBeanInterface.staffSessionBeanLocal;

/**
 *
 * @author 
 */
@ManagedBean(name = "emailBean")
@SessionScoped
public class EmailBean implements Serializable {

    @PostConstruct
    public void init() {
        setStaffToEmail(new Staff());
        email = new StaffEmail();

    }

    @EJB
    private emailSessionBeanLocal emailSession;
    @EJB
    private staffSessionBeanLocal staffSession;
    private StaffEmail email;
    private String emailWithFirstName;
    private String personTo;
    private Staff staffToEmail;

    /**
     * @return the emailSession
     */
    public emailSessionBeanLocal getEmailSession() {
        return emailSession;
    }

    /**
     * @param emailSession the emailSession to set
     */
    public void setEmailSession(emailSessionBeanLocal emailSession) {
        this.emailSession = emailSession;
    }

    /**
     * @return the email
     */
    public StaffEmail getEmail() {
        return email;
    }

    /**
     * @param email the email to set
     */
    public void setEmail(StaffEmail email) {
        this.email = email;
    }

    /**
     * @return the emailWithFirstName
     */
    public String getEmailWithFirstName() {
        return emailWithFirstName;
    }

    /**
     * @param emailWithFirstName the emailWithFirstName to set
     */
    public void setEmailWithFirstName(String emailWithFirstName) {
        this.emailWithFirstName = emailWithFirstName;
    }

    /**
     * @return the personTo
     */
    public String getPersonTo() {
        return personTo;
    }

    /**
     * @param personTo the personTo to set
     */
    public void setPersonTo(String personTo) {
        this.personTo = personTo;
    }

    /**
     * @return the staffToEmail
     */
    public Staff getStaffToEmail() {
        return staffToEmail;
    }

    /**
     * @param staffToEmail the staffToEmail to set
     */
    public void setStaffToEmail(Staff staffToEmail) {
        this.staffToEmail = staffToEmail;
    }

    /**
     * @return the staffSession
     */
    public staffSessionBeanLocal getStaffSession() {
        return staffSession;
    }

    /**
     * @param staffSession the staffSession to set
     */
    public void setStaffSession(staffSessionBeanLocal staffSession) {
        this.staffSession = staffSession;
    }
}

您只能將單個值分配給jsf:value屬性,如下所示:

jsf:value="#{emailBean.someString}"

然后,在您的EmailBean上,您可以將此“ someString”拆分為“ firstName”,“ lastName”和“ staffToEmail”屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM