Управляемый компонент не сохраняет входные значения и возвращает ноль после упаковки в отдельный JAR - PullRequest
0 голосов
/ 18 ноября 2011

У меня очень странное поведение в управляемом компоненте, когда он не сохраняет значения, отправленные из jsf, и когда он собирается обработать POST, все свойства имеют значение null.

JSF IИмеется простая форма с 2 полями и кнопкой, значения двух полей получены, и кнопка выполняет метод POST для обработки данных, полученных от JSF.При выполнении отладки я вижу, что после нажатия кнопки методы setter выполняются со значениями, отправленными в bean (хорошо), но когда он переходит к выполнению mothod, вдруг все свойства становятся нулевыми.

Я должен отметить, что раньше все это работало нормально, все началось с такого поведения, когда я переместил все управляемые bean-компоненты (backbean-компоненты) в отдельный JAR-файл.Я знаю, что если я снова перенесу файлы в веб-приложение, оно будет работать, но я ищу способ не накапливать слишком много файлов в одном проекте, это займет слишком много времени для компиляции и развертывания.

Вот код бека и JSF:

@Named
@RequestScoped
public class RegisterController implements Serializable {            
private String accountType;

public String getAccountTypes() {
    return accountType;
}

public void setAccountTypes(String accountType) {
    this.accountType = accountType;   // Here it stores the value ********
}

private String businessType;

public String getBusinessType() {
    return businessType;
}

public void setBusinessType(String businessType) {
    this.businessType = businessType;    // Here it stores the other value *******
}   

// Method called with the button
public String prepareCreate() {
    if ("PERSONAL".equals(getAccountTypes()))  // Here is null!!  *************
    {            
        return "PersonalSignup";
    }
    else
        if (businessType == null)  // Here is also null!! ************
        {
            JsfUtil.addErrorMessage(
                    new Exception(""), ResourceBundle.getBundle(CommonUtil.bundleStr).getString("cc.signup.accounttype.invalid.businesstype"));
        }
...

Любая помощь будет очень признательна, спасибо.

1 Ответ

0 голосов
/ 19 ноября 2011

Нашел ответ здесь: Как JSF находит бины с аннотацией @ManagedBean? .Конечно, если вам нужно, чтобы ваше веб-приложение проверяло ваш файл jar на наличие управляемых компонентов, включайте в файл META-INF своего файла jar только файл Face-config.xml.

...