2011-08-04 28 views
12

Tengo una configuración de proyecto con Spring 3, Apache Tiles 2 y Maven. Antes de implementar Tiles, estaba usando el archivo messages.properties para rellenar dinámicamente los títulos de una página web (La parte que aparece entre la cabecera y las etiquetas de título). El motivo fue permitir la localización en el futuro. Sin embargo, dado que he integrado mosaicos, el archivo tiles.xml parece controlar los títulos de mi página.SpringMVC 3 y Azulejos 2 Localización del título de la página

¿Hay alguna manera de cambiar esto para que el título de la página proceda de messages.properties para cada jsp que uso como cuerpo de una página?

tiles.xml es:

<definition name="base.definition" template="/WEB-INF/views/layouts/layout.jsp"> 
    <put-attribute name="title" value="" /> 
    <put-attribute name="header" value="/WEB-INF/views/includes/header.jsp" /> 
    <put-attribute name="menu" value="/WEB-INF/views/includes/menu.jsp" /> 
    <put-attribute name="body" value="" /> 
    <put-attribute name="footer" value="/WEB-INF/views/includes/footer.jsp" /> 
</definition> 

<definition name="home" extends="base.definition"> 
    <put-attribute name="title" value="Welcome from Tile" /> 
    <put-attribute name="body" value="/WEB-INF/views/home.jsp" /> 
</definition> 

<definition name="new-deal-input" extends="base.definition"> 
    <put-attribute name="title" value="New Deal" /> 
    <put-attribute name="body" value="/WEB-INF/views/new-deal-input.jsp" /> 
</definition> 

Dónde se ve "Bienvenido a partir del azulejo" o "New Deal" como el título que preferiría que este mensaje viene de un messages.properties. Intenté poner el mensaje en las etiquetas de título en la página "cuerpo" sin ningún resultado.

El proyecto es configurar en GitHub, se puede echar un vistazo a la siguiente dirección: Group-Deal-Clone

Respuesta

10

Usted puede poner los resortes clave del mensaje para azulejos atributo título.

<definition name="home" extends="base.definition"> 
    <put-attribute name="title" value="message.key.welcome.text" /> 
    <put-attribute name="body" value="/WEB-INF/views/home.jsp" /> 
</definition> 

y utilizarlo en algo como esto JSP

 <c:set var="titleKey"> 
     <tiles:insertAttribute name="title" ignore="true" /> 
    </c:set> 
    <title><spring:message key="${titleKey}" /></title> 

no tengo en este momento azulejos + proyecto de la primavera en las manos, así que no puedo comprobar es la sintaxis correcta al 100% pero tengo uso este enfoque antes.

Y por supuesto que podría hacer algo como esto para conseguir por página título

<title><spring:message key="welcome.${titleKey}"/></title> 
+0

Gracias por su Reponse pero su acercamiento no trabajará por una simple razón de que las baldosas insertos información de cabecera por separado. El uso de este enfoque da como resultado 2 etiquetas 0 y <head> en la página. Lo que necesito es de alguna manera para reemplazar el valor del título del atributo del mosaico en el JSP o para definirlo dinámicamente en el archivo tiles.xml. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/611600/">Ali</a></span> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">Lo siento, tienes toda la razón, mi error fue que me estaba concentrando en el jsp para el cuerpo, ya que el código que me diste funciona cuando se coloca en el diseño jsp. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/611600/">Ali</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4319274062" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">17<i class="fa fa-thumbs-up"></i></span> </div> <div class="post-offset"> <div class="answer fmt"> <p>Otra variante, sin c: set:</p> <p>en azulejos-defs.xml:</p> <pre><code class="prettyprint-override"><definition name="index" template="/WEB-INF/tiles/base.jsp"> <put-attribute name="title" value="home.title"/> <put-attribute name="header" value="/WEB-INF/includes/iheader.jsp"/> ... </definition> </code></pre> <p>en base.jsp:</p> <pre><code class="prettyprint-override"><head> <tiles:importAttribute name="title" /> <title><spring:message code="${title}"></spring:message></title> </head> </code></pre> <p>en messages.properties:</p> <pre><code class="prettyprint-override">home.title=Homepage title </code></pre> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/9442006">Fuente</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2012-02-25 06:52:07</span> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/1167474/">Dima</a></span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> </div> </article> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">Cuestiones relacionadas</div> <ul class="relative_list"> <li> 1. <a href="http://es.voidcc.com/question/p-nrgljqpu-bt.html" target="_blank" title="SpringMVC, jQuery, azulejos, y rerendering parcial"> SpringMVC, jQuery, azulejos, y rerendering parcial </a> </li> <li> 2. <a href="http://es.voidcc.com/question/p-uebbzypw-m.html" target="_blank" title="puntales 2, azulejos 2 título dinámico"> puntales 2, azulejos 2 título dinámico </a> </li> <li> 3. <a href="http://es.voidcc.com/question/p-trncxfqx-be.html" target="_blank" title="Spring 3 MVC y Apache Tiles 2 Error de integración"> Spring 3 MVC y Apache Tiles 2 Error de integración </a> </li> <li> 4. <a href="http://es.voidcc.com/question/p-haxipqsl-ba.html" target="_blank" title="Configuración del título de la página de Chrome window.open"> Configuración del título de la página de Chrome window.open </a> </li> <li> 5. <a href="http://es.voidcc.com/question/p-hfidwiqq-bd.html" target="_blank" title="JSF 2 localización (bean gestionado)"> JSF 2 localización (bean gestionado) </a> </li> <li> 6. <a href="http://es.voidcc.com/question/p-gfkdsodh-bv.html" target="_blank" title="Localización JavaFX 2.x TableView"> Localización JavaFX 2.x TableView </a> </li> <li> 7. <a href="http://es.voidcc.com/question/p-ecsrzwxp-u.html" target="_blank" title="JSP, Sitemesh y Azulejos hardcore: ¿alguna alternativa?"> JSP, Sitemesh y Azulejos hardcore: ¿alguna alternativa? </a> </li> <li> 8. <a href="http://es.voidcc.com/question/p-remkvwyu-o.html" target="_blank" title="Extracción título de la página y la fecha cuando se imprime la página web (con CSS?)"> Extracción título de la página y la fecha cuando se imprime la página web (con CSS?) </a> </li> <li> 9. <a href="http://es.voidcc.com/question/p-vbvwfrri-bk.html" target="_blank" title="Servicio de localización en Zend Framework 2"> Servicio de localización en Zend Framework 2 </a> </li> <li> 10. <a href="http://es.voidcc.com/question/p-miuoimkp-bu.html" target="_blank" title="ajuste del título de la ventana/foto"> ajuste del título de la ventana/foto </a> </li> <li> 11. <a href="http://es.voidcc.com/question/p-cprtehbo-k.html" target="_blank" title="Ambos Python 2 y 3 en Emacs"> Ambos Python 2 y 3 en Emacs </a> </li> <li> 12. <a href="http://es.voidcc.com/question/p-ymsckrst-bn.html" target="_blank" title="Verificando el título de la página con rspec"> Verificando el título de la página con rspec </a> </li> <li> 13. <a href="http://es.voidcc.com/question/p-fjqnwhjm-u.html" target="_blank" title="No puedo mostrar el título dinámico de la página utilizando el resorte 3 y los mosaicos de apache 2.2"> No puedo mostrar el título dinámico de la página utilizando el resorte 3 y los mosaicos de apache 2.2 </a> </li> <li> 14. <a href="http://es.voidcc.com/question/p-hxqovbtf-bh.html" target="_blank" title="SpringMVC Anotaciones para la interfaz DAO y aplicación DAO"> SpringMVC Anotaciones para la interfaz DAO y aplicación DAO </a> </li> <li> 15. <a href="http://es.voidcc.com/question/p-wwwwgsly-bk.html" target="_blank" title="propagar una Azulejos atribuyen por el incluya la cadena"> propagar una Azulejos atribuyen por el incluya la cadena </a> </li> <li> 16. <a href="http://es.voidcc.com/question/p-gunfllgw-g.html" target="_blank" title="Azulejos vs. JSP incluye"> Azulejos vs. JSP incluye </a> </li> <li> 17. <a href="http://es.voidcc.com/question/p-sfoylnwz-bv.html" target="_blank" title="Python 2 y Python 3 __cmp__"> Python 2 y Python 3 __cmp__ </a> </li> <li> 18. <a href="http://es.voidcc.com/question/p-xpawvbva-r.html" target="_blank" title="Localización y JQuery/JavaScript"> Localización y JQuery/JavaScript </a> </li> <li> 19. <a href="http://es.voidcc.com/question/p-barisylg-bn.html" target="_blank" title="Django CMS Título de la página No se procesa"> Django CMS Título de la página No se procesa </a> </li> <li> 20. <a href="http://es.voidcc.com/question/p-shqywpth-m.html" target="_blank" title="Título del título de UIButton del iPhone/iPad que no aparece"> Título del título de UIButton del iPhone/iPad que no aparece </a> </li> <li> 21. <a href="http://es.voidcc.com/question/p-nmtlmerx-x.html" target="_blank" title="etiquetas de script no prestados en la página JSP (utilizando Spring + + Azulejos JSPX)"> etiquetas de script no prestados en la página JSP (utilizando Spring + + Azulejos JSPX) </a> </li> <li> 22. <a href="http://es.voidcc.com/question/p-dkhyemza-ba.html" target="_blank" title="Establecer título de página usando PHP"> Establecer título de página usando PHP </a> </li> <li> 23. <a href="http://es.voidcc.com/question/p-fpqtqvcu-d.html" target="_blank" title="Título de la página después de perder UpdatePanel asyncpostback"> Título de la página después de perder UpdatePanel asyncpostback </a> </li> <li> 24. <a href="http://es.voidcc.com/question/p-hivrvoqh-bo.html" target="_blank" title="Raíles 3 fuerza lenguaje de localización para texto específico"> Raíles 3 fuerza lenguaje de localización para texto específico </a> </li> <li> 25. <a href="http://es.voidcc.com/question/p-drhsxesa-bq.html" target="_blank" title="urlparse.urlparse devolviendo 3 '/' en lugar de 2 después del esquema"> urlparse.urlparse devolviendo 3 '/' en lugar de 2 después del esquema </a> </li> <li> 26. <a href="http://es.voidcc.com/question/p-bcswvxkc-c.html" target="_blank" title="\ documentclass {book} página de título centrado"> \ documentclass {book} página de título centrado </a> </li> <li> 27. <a href="http://es.voidcc.com/question/p-evaythze-bg.html" target="_blank" title="gnuplot - eliminación del título de línea"> gnuplot - eliminación del título de línea </a> </li> <li> 28. <a href="http://es.voidcc.com/question/p-opaqegqn-h.html" target="_blank" title="obtener título de la página de iframe javascript usando jQuery"> obtener título de la página de iframe javascript usando jQuery </a> </li> <li> 29. <a href="http://es.voidcc.com/question/p-fdwnpzhd-bs.html" target="_blank" title="Spring MVC 3.0 y Apache Tiles 2"> Spring MVC 3.0 y Apache Tiles 2 </a> </li> <li> 30. <a href="http://es.voidcc.com/question/p-vpnktdxm-h.html" target="_blank" title="mmap (2) vs mmap (3)"> mmap (2) vs mmap (3) </a> </li> </ul> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515422166"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> Última pregunta </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://es.voidcc.com/question/p-oacjbcvw-bs.html" target="_blank" title="incluir la fecha y hora del mensaje original en la respuesta citada usando emacs y ñus"> incluir la fecha y hora del mensaje original en la respuesta citada usando emacs y ñus </a> </li> <li class="side_article_list_item"> 2. <a href="http://es.voidcc.com/question/p-opzxmbui-bq.html" target="_blank" title="Loopj Android Async Http - onFailure no activado"> Loopj Android Async Http - onFailure no activado </a> </li> <li class="side_article_list_item"> 3. <a href="http://es.voidcc.com/question/p-xoupjtic-bt.html" target="_blank" title="Consultas asíncronas PHP MySQLi con"> Consultas asíncronas PHP MySQLi con </a> </li> <li class="side_article_list_item"> 4. <a href="http://es.voidcc.com/question/p-cdaeqihp-bn.html" target="_blank" title="WPF: ¿Cómo configurar el teclado en un control de usuario? (Problemas con KeyBinding)"> WPF: ¿Cómo configurar el teclado en un control de usuario? (Problemas con KeyBinding) </a> </li> <li class="side_article_list_item"> 5. <a href="http://es.voidcc.com/question/p-yrhjwsgf-bh.html" target="_blank" title="Falta el modificador parcial en la declaración ... existe otra declaración parcial de este tipo ". Soy un principiante y simplemente sigo el libro"> Falta el modificador parcial en la declaración ... existe otra declaración parcial de este tipo ". Soy un principiante y simplemente sigo el libro </a> </li> <li class="side_article_list_item"> 6. <a href="http://es.voidcc.com/question/p-urpvlbba-bn.html" target="_blank" title="¿Por qué Eclipse no puede mostrar "Ant Build" en las opciones de ejecución para un archivo de compilación Ant?"> ¿Por qué Eclipse no puede mostrar "Ant Build" en las opciones de ejecución para un archivo de compilación Ant? </a> </li> <li class="side_article_list_item"> 7. <a href="http://es.voidcc.com/question/p-kvjemabg-be.html" target="_blank" title="En una máquina virtual Azure Linux, ¿qué persiste? ¿Para qué disco se cobra?"> En una máquina virtual Azure Linux, ¿qué persiste? ¿Para qué disco se cobra? </a> </li> <li class="side_article_list_item"> 8. <a href="http://es.voidcc.com/question/p-zerdqdni-bg.html" target="_blank" title="¿Cómo se reinstalan las dependencias de una aplicación usando npm?"> ¿Cómo se reinstalan las dependencias de una aplicación usando npm? </a> </li> <li class="side_article_list_item"> 9. <a href="http://es.voidcc.com/question/p-kqldooee-ba.html" target="_blank" title="¿Por qué es el número máximo en java 2^31 - 1 y no 2^31"> ¿Por qué es el número máximo en java 2^31 - 1 y no 2^31 </a> </li> <li class="side_article_list_item"> 10. <a href="http://es.voidcc.com/question/p-yhfxmrru-y.html" target="_blank" title="RxTx en Mac: puerto serie ya en uso"> RxTx en Mac: puerto serie ya en uso </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> Cuestiones relacionadas</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://es.voidcc.com/question/p-nrgljqpu-bt.html" target="_blank" title="SpringMVC, jQuery, azulejos, y rerendering parcial"> SpringMVC, jQuery, azulejos, y rerendering parcial </a> </li> <li class="side_article_list_item"> 2. <a href="http://es.voidcc.com/question/p-uebbzypw-m.html" target="_blank" title="puntales 2, azulejos 2 título dinámico"> puntales 2, azulejos 2 título dinámico </a> </li> <li class="side_article_list_item"> 3. <a href="http://es.voidcc.com/question/p-trncxfqx-be.html" target="_blank" title="Spring 3 MVC y Apache Tiles 2 Error de integración"> Spring 3 MVC y Apache Tiles 2 Error de integración </a> </li> <li class="side_article_list_item"> 4. <a href="http://es.voidcc.com/question/p-haxipqsl-ba.html" target="_blank" title="Configuración del título de la página de Chrome window.open"> Configuración del título de la página de Chrome window.open </a> </li> <li class="side_article_list_item"> 5. <a href="http://es.voidcc.com/question/p-hfidwiqq-bd.html" target="_blank" title="JSF 2 localización (bean gestionado)"> JSF 2 localización (bean gestionado) </a> </li> <li class="side_article_list_item"> 6. <a href="http://es.voidcc.com/question/p-gfkdsodh-bv.html" target="_blank" title="Localización JavaFX 2.x TableView"> Localización JavaFX 2.x TableView </a> </li> <li class="side_article_list_item"> 7. <a href="http://es.voidcc.com/question/p-ecsrzwxp-u.html" target="_blank" title="JSP, Sitemesh y Azulejos hardcore: ¿alguna alternativa?"> JSP, Sitemesh y Azulejos hardcore: ¿alguna alternativa? </a> </li> <li class="side_article_list_item"> 8. <a href="http://es.voidcc.com/question/p-remkvwyu-o.html" target="_blank" title="Extracción título de la página y la fecha cuando se imprime la página web (con CSS?)"> Extracción título de la página y la fecha cuando se imprime la página web (con CSS?) </a> </li> <li class="side_article_list_item"> 9. <a href="http://es.voidcc.com/question/p-vbvwfrri-bk.html" target="_blank" title="Servicio de localización en Zend Framework 2"> Servicio de localización en Zend Framework 2 </a> </li> <li class="side_article_list_item"> 10. <a href="http://es.voidcc.com/question/p-miuoimkp-bu.html" target="_blank" title="ajuste del título de la ventana/foto"> ajuste del título de la ventana/foto </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://es.voidcc.com/contact">Contactanos</a></li> <li>© 2020 ES.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>