Struts2 yapılandırmamda ad alanları eklemek istiyorum ve fayans kullanıyorum.Fayanslarla birden çok Struts2 ad alanı kullanmak
örneğin benim struts.xml bir paketi:
<package name="search" namespace="/search" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="SearchActionInit" class="web.action.SearchAction" method="initSearch">
<result name="input" type="tiles">search</result>
<result name="success" type="tiles">search</result>
</action>
</package>
Ve karşılık gelen fayans yapılandırmasını:
<definition name="baseLayout" template="layout.jsp">
<put-attribute name="titre" value="titre.default" />
<put-attribute name="header" value="/common/header.jsp" />
<put-attribute name="menu" value="/common/menu.jsp" />
<put-attribute name="leftcontent" value="/common/leftcontent.jsp" />
<put-attribute name="rightcontent" value="/common/rightcontent.jsp" />
<put-attribute name="detail" value="/common/detail.jsp" />
<put-attribute name="footer" value="/common/footer.jsp" />
</definition>
<definition name="search" extends="baseLayout">
<put-attribute name="titre" value="titre.search" />
<put-attribute name="rightcontent" value="/pages/search/Search.jsp" />
</definition>
Ben sorun ben de layout.jsp çoğaltmak için ihtiyaç vardır ad alanı araması için arama klasörü (ve diğer ad alanları için). Fayans mantığında değil ve sürdürmek için daha fazla çaba harcayacak.
Çoğaltmayı önlemek için bu sorunun anahtarı olan herhangi biri var mı?
Merhaba, neden layout.jsp dosyasını kopyalamanız gerektiğini anlamıyorum. ve 'result-types' tanımlamanız gerekmez, şunu deneyin: ' ' –
Jaiwo99
Cevabınız için teşekkürler. Fayans varsayılanını ekleyerek değişiklik yok. Yinelenmesi gerekiyor çünkü bir layout.jsp'yi ad alanıyla aynı ada sahip bir klasörde bekliyor. Örneğin bu örnekte, layout.jsp'yi yeniden adlandırıyorum ve 404 hatası alıyorum (arama/layout.jsp bulunamadı). – Rydermark
Nihayet şimdi sorunuzu anlıyorum. Size daha sonra cevabı vereceğim .. – Jaiwo99