User talk:Akysoft/JSF
JSF
editJSF oldalak életciklusa
edit
Saját validátor használata jsp oldalon:
<h:selectOneMenu validator="#{statisticsValidatorBean.validate}">
java kódban:
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException { if (value is not valid){ throw new ValidatorException(new FacesMessage("hibauzenet")); } }
A validációs metódusba már a konvertált érték kerül bele, ha volt ilyen definiálva.
Az a UIComponent, amelyik a validációs folyamaton túl van, a submittedValue értéke átkerül a value-ba és a submittedValue értéke null lesz
TODO: Ki kell próbálni az alábbi dolgot:
Hiba jelenség:
egy form elküldésekor nem történik semmi. Csak a második kattintás után hajtódik végre.
Hiba oka: A validációs fázisból visszamegy az oldalra.
Megoldás: valamilyen validációt kell tenni az űrlapra.
Sun Web UI komponens gyűjtemény
editCalendar komponens
editA calendar komponens csak akkor működik, ha <ui:page> és <ui:head> tag-ek is szerepelenek az oldalon. Pl.:
<%@ page contentType="text/html;charset=utf-8"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ taglib uri="http://www.sun.com/web/ui" prefix="ui"%> <f:view> <ui:page> <ui:html> <ui:head/> <ui:body> <ui:form id="test"> <ui:calendar dateFormatPattern="yyyy.MM.dd" dateFormatPatternHelp="éééé.hh.nn" style="background-color: #00ffff"/> <h:commandButton id="backBtn" value="Vissza" action="actionBack" /> </ui:form> </ui:body> </ui:html> </ui:page> </f:view>
Tartalmaz egy bug-ot, mivel nem lehet a input mező stílusát állítani style paraméterrel. Ez kikerülhető ha a com.sun.rave.web.ui.renderer.CalendarRenderer osztályban átírjuk a
renderInput(calendar, "text", clientId.concat("_field"), false, styles, context, writer);
sor helyett
renderInput(calendar, "text", clientId.concat("_field"), true, styles, context, writer);
Továbbá a renderTableStart metódusban a
writer.writeAttribute("style", style, "style");
sort ki kell kommentezni.