У меня есть java проект приложения, я использую его как базовую библиотеку. Внутри у меня есть несколько моделей и класс EnumBean с перечислениями. Я добавил эту банку в веб-проект Maven. Все выглядит хорошо, но когда я запускаю веб-приложение, на странице кнопка selectOneRadio не показывает значения перечисления. Так что selectOneRadio поставляется с пустым
Но до этого, когда класс enumbean был в веб-проекте, все было хорошо. Когда я несу их в библиотеку, он не выдает ошибку, но не показывает перечисления на странице.
Можете ли вы мне помочь?
Код:
В другом проекте у меня есть класс EnumBean ..
@ManagedBean
@ApplicationScoped
public class EnumBean {
public enum State {
@SerializedName("0")
PASSIVE("Passive"),
@SerializedName("1")
ACTIVE("Active");
private final String name;
private State(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
}
public State[] getStateValues() {
return State.values();
}
}
И внутри другого проекта ..
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Hello from Facelets
<h:form>
<br/>
<br/>
<p:selectOneMenu id="xyz" value="#{welcomeView.selectedState}" style="width:125px">
<f:selectItems value="#{enumBean.stateValues}" var="stateValue" itemLabel="#{stateValue.name}" itemValue="#{stateValue}" />
<p:ajax event="change" listener="#{welcomeView.someFunc()}"/>
<p:ajax update="xyz"/>
</p:selectOneMenu>
<br/>
<br/>
<p:outputLabel for="stateTry" value="State :"/>
<p:selectOneRadio id="stateTry" value="#{welcomeView.selectedState2}" layout="grid" columns="1" >
<f:selectItems value="#{enumBean.stateValues}" var="stateValue" itemLabel="#{stateValue.name}" itemValue="#{stateValue}" />
</p:selectOneRadio>
</h:form>
</h:body>
</html>
package view;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.AjaxBehaviorEvent;
@ManagedBean
@ViewScoped
public class WelcomeView implements Serializable {
private EnumBean.State selectedState;
private EnumBean.State selectedState2;
//Some Getter Setter..
@PostConstruct
public void init() {
}
public void someFunc(final AjaxBehaviorEvent event) {
System.out.println("------");
if (selectedState.ordinal() == EnumBean.State.ACTIVE.ordinal()) {
System.out.println("active");
} else {
System.out.println("passive");
}
}
//Some functions
}
Спасибо ..