2011-04-16 19 views
5

Spring roo hakkında bir sorum var.Spring roo'da özel sayfa ekleme

Web uygulamanıza özel bir sayfa nasıl eklenir? Standart Servlet kullanıyorum, gerçekten basit ve kolay görünüyor, ancak Spring roo'da bunu yapmak için tamamen kafam karışık. Tüm sahip olmak istediğim, özel sayfama bağlanan ana sayfada (menülerle vb.) Bir bağlantıdır.

Yol eşlemesini/custompage olarak ayarlayarak uygulamaya yeni bir Servlet eklemeyi denedim. ancak http://localhost:8080/myapp/custompage'a eriştiğimde, kaynağın kullanılamıyor olduğunu gösterir.

Ayrıca ana sayfada bir bağlantı ekleyemiyorum, menu.jspx dosyasını doğrudan düzenlemeyi denedim ve başarısız oluyor.

Bu konuda bana ışık tutabilirmi? Herhangi bir yardım büyük takdir edilecektir.

+0

'menu.jspx' düzenleme ile ne tür bir başarısızlık yaşadı? – Constantiner

+0

Eh, menü listesinde hiçbir değişiklik yok. Ben menu.jspx (böylece liste ikiye katlanarak) bir liste kopyalamak için çalıştım ve kendi şeylerimi basit bir 'HELLO' gibi ekleyerek. Ama hiçbir şey değişmez. Hatta 'HELLO' – Tetrax

+0

göstermiyor Kodunuzu yeniden derlemiş ve yeniden dağıtdınız mı? –

cevap

6

Her şeyden önce {project_root}/src/main/webapp/WEB-INF/spring/webmvc-config.xml düzenleyin ve yeni sayfanız için yeni mvc:view-controller tanımını ekleyin. Bir şey gibi:

<mvc:view-controller path="/custompage" /> 

Sonra {project_root}/src/main/webapp/WEB-INF/views/views.xml açıp şu tanımı ekleyin:

<definition extends="public" name="custompage"> 
    <put-attribute name="body" value="/WEB-INF/views/custompage.jspx"/> 
    </definition> 

Ve Apple Şifre custompage.jspx{project_root}/src/main/webapp/WEB-INF/views/ klasörüne.

Ve sonra {project_root}/src/main/webapp/WEB-INF/views/menu.jspx'u venumaralı yeni menu:item'u düzenleyin.

Çalışması gerektiğini düşünüyorum.

+0

Çok teşekkür ederim. Çok iyi çalışıyor. – Tetrax

+1

Bazı şeyleri hesaplamak ve daha sonra sayfaya iletmek istiyorsanız bir denetleyici oluşturmak isteyebilirsiniz. Ayrıca roo temasına bağlı olmayan kendi kiremit tanımınıza sahip olmak isteyebilirsiniz. – geoaxis

6

En basit yol, Roo'nun sizin için yapmasına izin vermektir. controller class --class ~.web.CustomPageController --preferredMapping /custompage kullanın ve Roo sizin için her şeyi yaratacaktır.

Her bir istekte birden fazla eşlemeniz varsa çalışmayacağından, yalnızca sonuçta ortaya çıkan denetleyicide ihtiyacınız olana sahip olduğunuzdan emin olun (1.1.4'deki varsayılan değer, basit bir şekilde belirsiz bir eşleme olduğunu düşünür

+1

Bunu yaptım ve denetleyiciyi "custompage/index" döndüren bir "endeks" yöntemine indirdim ve bu görünüm fragmanlarının oluşturulduğunu doğruladım. Öyle olsa bile/myapp/custompage'a göz atarken Roo "kaynağı bulunamadı" sayfasını görüyorum. –

2

Aynısını yaptım. Aynı sorunu aldım. Daha sonra, <mvc:view-controller path="/custompage/index"/> girişine sahip olmayan webmvc-config.xml farkettim. Girişi girdim ve şimdi çalışıyor. Yukarıdaki kodun var olduğundan emin olun.

İlgili konular