Che meraviglia i fiori del cappero...anche conservati

Dotati di quattro petali bianchi, portano al centro i bellissimi stami rosso violacei, sono anche delicatamente profumati
Fotografati in Liguria (la pianta soffre purtroppo il freddo), adornano i muretti a secco, con il loro portamento ricadente. Dotati di quattro petali bianchi, portano al centro i bellissimi stami rosso violacei, sono anche delicatamente profumati. Questa bellissima pianta non finisce di stupirci poichè ci dona alcuna sue parti mangerecce, tipicamente i boccioli fiorali ancora da schiudere (negli allevamenti difficilmente, dunque, si vedrà fiorire), che si conservano sott'olio, sotto aceto o sotto sale. Colgo l'occasione per ricordare che la conservazione degli alimenti attraverso queste sostanze (metodo antichissimo già in uso, pensate, ai Romani), ha una funzione antibatterica (l'aceto abbassa il pH rendendo inospitale l'ambiente a moltissimi bateri) ed isolante (nel caso dell'olio). Tornando ai capperi, pensate, alcuni consumano addirittura il frutto, chiamato con termine dialettale "cucuncio" e persino le giovani e tenere foglioline, crude, in insalata.
È una pianta adatta ai suoli calcarei (l'opposto delle acidofile, dunque), eliofila (in pieno sole sta meglio) e "xerofila" (che si adatta a lunghi periodi di siccità). Come mai? Deve questa sua caratteristica alle profonde radici fittonanti, (il fittone è un tipico esempio di radice, pensate alla pare arancione della carota...), idonee ad insinuarsi nelle fessurazioni di muri e rupi. Tuttavia, se viene anche coltivata in piena terra, con irrigazioni moderate, può crescere anche meglio; non si pensi, quindi, che non si possa coltivarla se non nei muri a secco....
Una particolare caratteristica è presentata dai semi, che devono essere seminati appena raccolti, a differenza dei semi molte piante dei nostri climi nordici, i quali abbisognano addirittura di passare un moderato perido di freddo per poter germinare. In questo caso, invece, se si aspettase troppo, i semi semi stessi entrerebbero in "dormienza" (uno stratagemma di sopravvivenza al caldo), perdendo molta acqua. Ciò farebbe scendere molto la percentuale di germinabilità, addirittura al 15%!
Quindi ammiriamo anche questa tenera e piccola pianta, e ringraziamola di farci compagnia e dilettare i nostri occhi e la nostra gola!
È una pianta adatta ai suoli calcarei (l'opposto delle acidofile, dunque), eliofila (in pieno sole sta meglio) e "xerofila" (che si adatta a lunghi periodi di siccità). Come mai? Deve questa sua caratteristica alle profonde radici fittonanti, (il fittone è un tipico esempio di radice, pensate alla pare arancione della carota...), idonee ad insinuarsi nelle fessurazioni di muri e rupi. Tuttavia, se viene anche coltivata in piena terra, con irrigazioni moderate, può crescere anche meglio; non si pensi, quindi, che non si possa coltivarla se non nei muri a secco....
Una particolare caratteristica è presentata dai semi, che devono essere seminati appena raccolti, a differenza dei semi molte piante dei nostri climi nordici, i quali abbisognano addirittura di passare un moderato perido di freddo per poter germinare. In questo caso, invece, se si aspettase troppo, i semi semi stessi entrerebbero in "dormienza" (uno stratagemma di sopravvivenza al caldo), perdendo molta acqua. Ciò farebbe scendere molto la percentuale di germinabilità, addirittura al 15%!
Quindi ammiriamo anche questa tenera e piccola pianta, e ringraziamola di farci compagnia e dilettare i nostri occhi e la nostra gola!
Mario Pria
Dr.agr. Mario Emanuele Pria - Manutenzione giardini e terrazzi - Corsi online di giardinaggio - www.marioemmepi.it - marioemmepi@gmail.com - 3356032955
Dr.agr. Mario Emanuele Pria - Manutenzione giardini e terrazzi - Corsi online di giardinaggio - www.marioemmepi.it - marioemmepi@gmail.com - 3356032955
FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!)
Category passione-natura not found ---- FTL stack trace ("~" means nesting-related): - Failed at: @get_category name=cat_name var="cate... [in template "dev.sevendaysweb.com/layouts/macro/utils.ftl" in macro "set_primary_category_color" at line 600, column 7] - Reached through: @set_primary_category_color c [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "hs_contents" at line 970, column 25] - Reached through: @hs_contents ca, contents_preview, co... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "suggested_category_content" at line 461, column 17] - Reached through: @suggested_category_content ca, last_... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "suggested_contents" at line 223, column 25] - Reached through: @query name=name cache=false start=st... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "suggested_contents" at line 221, column 9] - Reached through: @suggested_contents name=(mpName + "i... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "content_suggested" at line 81, column 41] - Reached through: @query name="categories_area_sect" ca... [in template "dev.sevendaysweb.com/layouts/macro/content_suggested.ftl" in macro "content_suggested" at line 8, column 9] - Reached through: @content_suggested bundle.OCDetail, "... [in template "dev.sevendaysweb.com/layouts/macro/content_details.ftl" in macro "content_details" at line 357, column 25] - Reached through: @content var="c" show_last_content=ca... [in template "dev.sevendaysweb.com/layouts/macro/content_details.ftl" in macro "content_details" at line 118, column 9] - Reached through: @content_details img_full_width=img_f... [in template "dev.sevendaysweb.com/layouts/default.ftl" in macro "contents_column" at line 9, column 13] - Reached through: @contents_column [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "container" at line 412, column 49] - Reached through: @query name="count_areas" cache=false... [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "container" at line 254, column 5] - Reached through: @container context, "[left-mid-", "[c... [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "html" at line 111, column 33] - Reached through: @cache sv=search_val [in template "dev.sevendaysweb.com/layouts/macro/skeleton.ftl" in macro "html" at line 66, column 9] - Reached through: @html cat_layout="home" cat_title=tru... [in template "dev.sevendaysweb.com/layouts/default.ftl" at line 24, column 1] ---- Java stack trace (for programmers): ---- freemarker.template.TemplateException: [... Exception message was already printed; see it above ...] at it.treis.utils.freemarker.BasicHeadingCategoryDirective.getCategoryByName(BasicHeadingCategoryDirective.java:63) at it.treis.utils.freemarker.CategoryDirective.execute(CategoryDirective.java:65) at freemarker.core.Environment.visit(Environment.java:377) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.IfBlock.accept(IfBlock.java:48) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Macro$Context.runMacro(Macro.java:178) at freemarker.core.Environment.invoke(Environment.java:700) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:148) at freemarker.core.Environment.visitIteratorBlock(Environment.java:559) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Macro$Context.runMacro(Macro.java:178) at freemarker.core.Environment.invoke(Environment.java:700) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.IfBlock.accept(IfBlock.java:48) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Macro$Context.runMacro(Macro.java:178) at freemarker.core.Environment.invoke(Environment.java:700) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2255) at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:202) at freemarker.core.Environment.visit(Environment.java:377) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Macro$Context.runMacro(Macro.java:178) at freemarker.core.Environment.invoke(Environment.java:700) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.IfBlock.accept(IfBlock.java:48) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:148) at freemarker.core.Environment.visitIteratorBlock(Environment.java:559) at freemarker.core.IteratorBlock.accept(IteratorBlock.java:67) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:48) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2255) at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:202) at freemarker.core.Environment.visit(Environment.java:377) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Macro$Context.runMacro(Macro.java:178) at freemarker.core.Environment.invoke(Environment.java:700) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.IfBlock.accept(IfBlock.java:48) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2255) at it.treis.utils.freemarker.ContentCachedResultDirective.render(ContentCachedResultDirective.java:201) at it.treis.utils.freemarker.ContentCachedResultDirective.execute(ContentCachedResultDirective.java:181) at freemarker.core.Environment.visit(Environment.java:377) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Macro$Context.runMacro(Macro.java:178) at freemarker.core.Environment.invoke(Environment.java:700) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.IfBlock.accept(IfBlock.java:48) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Macro$Context.runMacro(Macro.java:178) at freemarker.core.Environment.invoke(Environment.java:700) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.IfBlock.accept(IfBlock.java:48) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2255) at it.treis.utils.freemarker.CategoryCachedQueryResultDirective.execute(CategoryCachedQueryResultDirective.java:202) at freemarker.core.Environment.visit(Environment.java:377) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Macro$Context.runMacro(Macro.java:178) at freemarker.core.Environment.invoke(Environment.java:700) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visitByHiddingParent(Environment.java:333) at freemarker.core.Environment.visitAndTransform(Environment.java:413) at freemarker.core.CompressedBlock.accept(CompressedBlock.java:37) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Environment$NestedElementTemplateDirectiveBody.render(Environment.java:2255) at it.treis.utils.freemarker.CacheDirective.execute(CacheDirective.java:71) at freemarker.core.Environment.visit(Environment.java:377) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:104) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Macro$Context.runMacro(Macro.java:178) at freemarker.core.Environment.invoke(Environment.java:700) at freemarker.core.UnifiedCall.accept(UnifiedCall.java:84) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.MixedContent.accept(MixedContent.java:62) at freemarker.core.Environment.visit(Environment.java:312) at freemarker.core.Environment.process(Environment.java:290) at freemarker.template.Template.process(Template.java:312) at org.apache.struts2.views.freemarker.FreemarkerResult.doExecute(FreemarkerResult.java:223) at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:191) at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:372) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276) at it.treis.smartmedia.navigation.interceptors.PrepareParametersInterceptor.intercept(PrepareParametersInterceptor.java:183) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at it.treis.smartmedia.navigation.interceptors.SubscriptionTokenMatcherInterceptor.intercept(SubscriptionTokenMatcherInterceptor.java:52) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:168) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at org.apache.struts2.interceptor.DateTextFieldInterceptor.intercept(DateTextFieldInterceptor.java:125) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:253) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:140) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:575) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209) at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:190) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:317) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748)