Zdravím všechny přítomné. Mám trochu problém s JSF (impl. com.sun.*) a s používáním knihovny jstl. Tomu, že se vyhodnocují např. atributy rendered <h:panelGrid rendered="#{inputBean.value!=null}"> z knihovny xmlns:h="http://java.sun.com/jsf/html" a podmínka <c:if test="#{inputBean.value!=null}"> xmlns:c="http://java.sun. com/jsp/jstl/core" v jiné fázi jsem se přizpůsobil, ale narazil jsem na problém s partial renderingem u ajaxu.
Níže uvedený kód funguje tak, jak potřebuji - při ajax submitu se pracuje jen s managed beanou "ajaxBean", ale pokud podmínku <h:panelGrid rendered="#{inputBean.value!=null}"> nahradím podmínkou <c:if test="#{inputBean.value!=null}"> , začne se při ajax submitu vytvářet a vyhodnocovat i managed beana "inputBean" - což při jiném způsobu vyhodnocování u knihovny jstl chápu, ale což nechci a co může za jiných okolností způsobovat chybu. Můj dotaz je následující. 1.Používáte někdo např. knihovnu s obdobnou funkcionalitou jako jstl, která by ale vyhodnocování prováděla v jiné fázi ( tak jako vyhodnocení např. h:panelGrid rendered="#{inputBean.value!=null}")? případně 2. Používáte jiný způsob, jak podmíněně renderovat bloky bez použití komponent, které by cokoliv(div,span) renderovaly (tj. bez h:panelGrid apod. a bez f:subview), dále náhradu jstl elementu c:set <c:set target="# {formBean}" property="onEdit" value="#{true}" /> - pokud možno bez vytváření vlastních custom composite component, které by řešily jen tohle (tj., nějakým "jednoduchým a běžným způsobem")? Předem děkuji za odpovědi! M.Paulfranc /**********************************************/ <!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:ui="http://java.sun.com/ jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/ core" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich"> <f:view> <h:head> <title>JSF-TEST</title> </h:head> <h:body> <h:form> <!-- AJAX --> <h:inputText value="#{ajaxBean.value}" id="idAjaxInput" /> <h:commandButton value="Submit"> <f:ajax event="click" render="idAjaxOutput" execute= "idAjaxInput" /> </h:commandButton> <h:outputText value="#{ajaxBean.value}" id="idAjaxOutput" /> <!-- SUBMIT --> <h:panelGrid rendered="#{inputBean.value!=null}"> <h:outputText value="#{inputBean.value}" /> <h:inputText value="#{inputBean.value}" /> <h:commandButton action="#{inputBean.submit}" value="Send" / > </h:panelGrid> </h:form> </h:body> </f:view> </html>