Canigó - Detall dels tags - select
Detall dels tags - selectDefineix un element per seleccionar entre una llista de valors, generada a partir d'una consulta la la base de dades. Estén el tag layout:select ( http://struts.application-servers.com/doc/tags/select.html#select ) de Struts-Layout. La documentació auto-generada del tag és a http://canigo.ctti.gencat.net/confluence/canigodocs/site/canigo2_2/tlddoc/fwk/select.html Atributs heredatsEls atributs heredats de layout:select son: accesskey, arg0, arg1, arg2, arg3, arg4, bundle, filter, hint, isRequired, key, layout, layoutId, maxlength, mode, multiple, name, onblur, onchange, onclick, ondblclick, onfocus, onkeydown, onkeypress, onkeyup, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, policy, property, size, styleClass, tabindex, tooltip, value. Atributs específics de Canigó
Per utilitzar els Tooltips cal incloure un conjunt d'arxius JavaScript i CSS:
<LINK REL=StyleSheet HREF="css/tooltips/tooltips.css" TYPE="text/css" MEDIA=screen> <script type="text/javascript" src="<c:url value="/scripts/tooltips/dom_tooltip/domLib.js"/>"> </script> <script type="text/javascript" src="<c:url value="/scripts/tooltips/dom_tooltip/domTT.js"/>"> </script> Configuració de l'accés a la Base de DadesPer tal d'omplir el Select amb un conjunt de valors recuperats de la Base de Dades, cal realitzar una sèrie de configuracions. En primer lloc, es defineix la consulta a realitzar, en HQL. Normalment aquestes consultes s'afegeixen a l'arxiu canigo-services-web-options-lists.xml com una entrada dins del bean defaultOptionValueListHandler. Aquesta definició es referència des de la configuració de l'Action Servlet definint, en primer lloc, un bean amb tres propietats
Un segon bean optionsListService conté la llista de tots els optionsListSources que s'utilitzin en la pàgina. ExempleA continuació es presenta un fragment de pàgina que utilitza el tag fwk:select Pàgina JSP<%@ include file="/WEB-INF/jsp/includes/fwkTagLibs.jsp" %> <script type="text/javascript" src="<c:url value="/scripts/tooltips/dom_tooltip/domLib.js"/>"> </script> <script type="text/javascript" src="<c:url value="/scripts/tooltips/dom_tooltip/domTT.js"/>"> </script> <link rel="Stylesheet" href="css/tooltips/tooltips.css" type="text/css" media="screen"> <fwk:form action="provesTagsSimple.do" styleId="myActionForm" key="jsp.provesTags.ProvesTagsSimple.form" reqCode="show" method="post" layout="true"> (...) <fwk:select styleId="camp8" key="jsp.provesTags.ProvesTagsSimple.camp8" mode="E,E,E" layout="true" tooltipTitleKey="jsp.provesTags.ProvesTagsSimple.camp8.tipTitle" tooltipKey="jsp.provesTags.ProvesTagsSimple.camp8.tip" property="camp8" /> (...) </fwk:form> Arxius d'internacionalitzaciójsp.provesTags.ProvesTagsSimple.camp8=Un altre camp jsp.provesTags.ProvesTagsSimple.camp8.tipTitle=Ajuda jsp.provesTags.ProvesTagsSimple.camp8.tip=Ajuda del camp que és un Select Configuració SpringEn canigo-services-web-options-lists.xml <bean name="defaultOptionValueListHandler" class="net.mlw.vlh.DefaultValueListHandlerImpl"> <property name="config.adapters"> <map> <entry key="categoriesList"> <bean parent="defaultOptionBaseHibernateAdapter"> <property name="hql"> <value> FROM net.gencat.ctti.canigo.samples.prototip.model.Category AS vo WHERE 1=1 /~descn: AND vo.descn LIKE {descn} ~/ /~sortColumn: ORDER BY vo.[sortColumn] [sortDirection]~/ </value> </property> </bean> </entry> En la configuració de l'ActionServlet associat a la pantalla: <beans> <bean id="categoriesOptionListSource" parent="defaultOptionListSource"> <property name="optionListName" value="categoriesList"/> <property name="optionLabelName" value="name"/> <property name="optionLabelProperty" value="id"/> </bean> <bean id="optionsListService" class="net.gencat.ctti.canigo.services.web.taglib.util.options.OptionsListServiceBase"> <property name="optionsListSources"> <map> <entry key="categoriesList"> <ref bean="categoriesOptionListSource"/> </entry> </map> </property> </bean> <bean id="selectFieldTag" class="net.gencat.ctti.canigo.services.web.struts.taglib.forms.fields.SelectFieldTag"> <property name="optionsListService" ref="optionsListService"/> </bean> <bean name="/provesTagsSimple" class="net.gencat.ctti.canigo.provesTags.struts.action.ProvesTagsSimpleAction"> <property name="tagsConfiguration"> <map> <entry key="*"> <list> <bean parent="selectFieldTag"> <property name="styleId" value="camp8"/> <property name="optionsListName" value="categoriesList"/> </bean> </list> </entry> </map> </property> </bean> </beans> forceOnChangeEl tag de select per defecte llança l'event onChange cada cop que hi ha qualsevol canvi a un select enllaçat. Si el que volem és canviar aquesta funcionalitat per defecte dels selects enllaçats es pot fer amb l'element forceOnSubmit que s'ha afegit propi al tag. Exemple: forceOnChange="false". Bugs
|