Primefaces 3.5.16, JBoss 7.2.0, PE 0.7.1, Mojara 2.1.26, WELD-000900 1.1.10 (Final) Web.xml имеет некоторые элементы конфигурации, config имеет определенные языковые пакеты.Обязательные поля с OmniFaces 1.6.1
Я следующий диалог с некоторыми полями ввода и р: TabView:
<p:dialog>
<h:form>
<p:tabView binding="#{tabViewEL}">
<p:messages autoUpdate="true"/>
<p:tab title="tab1">
<p:inputText value="#{bean.value1}" required="true" />
<p:inputText value="#{bean.value2}" />
<p:selectOneMenu value="#{bean.value3}">
<f:selectItems value="#{bean.items1}"></f:selectItems>
</p:selectOneMenu>
</p:tab>
<p:tab> ... </p:tab>
</p:tabView>
<p:commandButton value="ok" oncomplete="checkAndHide(xhr, status, args);" action="#{bean.action()}"/>
</h:form>
</p:dialog>
Если я нажимаю «ОК», и я использую OmniFaces v 1.5 или 1.6 он функционирует правильно.. Если я использую 1.6.1, все обязательные поля (и p: selectOneMenu без нулевого выбранного элемента) отмечены красным цветом с ошибками «Значение требуется». Как я могу использовать 1.6.1 без ошибок проверки?
Редактировать: Я попытался создать пример, но я обнаружил еще один любопытное поведение приложения. С OmniFaces 1.6 он работает правильно, но с 1.6.1 поля ввода не заполняются значениями.
OmnitestBean.java
import java.io.Serializable;
import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
@Named
@SessionScoped
public class OmnitestBean implements Serializable{
private Integer value1 = 12;
private Integer value2 = 3;
public OmnitestBean(){
System.out.println("Constru");
}
@PostConstruct
public void a(){
value1 = 14;
value2 = 30;
System.out.println("in postconstruct");
}
public Integer getValue1() {
return value1;
}
public void setValue1(Integer value1) {
this.value1 = value1;
}
public Integer getValue2() {
return value2;
}
public void setValue2(Integer value2) {
this.value2 = value2;
}
public void action(){
System.out.println("In action");
}
}
omnifaces.xhtml:
<!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://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui"
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
xmlns:pe="http://primefaces.org/ui/extensions">
<h:head />
<body>
<h:form id="editPopForm">
<p:messages id="messages2" autoUpdate="true"></p:messages>
<p:inputText value="#{omnitestBean.value1}" required="true" />
<p:inputText value="#{omnitestBean.value2}" />
<p:commandButton process="@form" action="#{omnitestBean.action()}" value="OK"
update="@form" id="editFormOkButt" />
</h:form>
Это странно. Посмотрите на это. Кстати, разве это не должно быть ''? Пожалуйста, отправьте код таким образом, чтобы я мог копировать его без изменений в ''. С или без 'checkAndHide'. –
BalusC
Извините, не могу воспроизвести его. Пожалуйста, опубликуйте настоящий SSCCE (то есть код, который я (и вы!) Может просто копировать'n'paste'n'run в пустой игровой среде WAR, не делая неочевидных модификаций/stubbing). – BalusC
Спасибо, я постараюсь. К сожалению, я не могу отправить свой код в оригинальной форме. – Tony