Öncelikle iyi çalışmalar.

Yapmaya çalıştığım JSF projemde amacım,template kullanarak sayfanın üst kısmının sabit kalıp,üst kısımdaki butonların action işlemine göre orta kısımdaki sayfanın değişmesiydi.Bunu "ui" bileşenlerini kullanarak yaptım.Primefaces demo sayfasında incelediğim kadarıyla primefaces layout bileşenide aynı işe yarıyor ama ben konuyu tam kavrayamadığımdan dolayı bu bileşeni kullanmayı beceremedim,. Bu konuda Primefaces layout bileşeni ile bana kısa bir kod örneği verebilirseniz çok memnun olurum.

soruldu: 26 Haz '13, 03:36

azizc's gravatar image

azizc
5181010
cevap kabul oranı: 0%


Kodu inceleyin..

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>Gerekli Css dosyalarını burada tanımlamalısın</title>
        <!-- örnek css tanımlaması-->
           <h:outputStylesheet name="ekiciStyle.css" library="css" />

    </h:head>
    <h:body>
        <p:layout fullPage="true" widgetVar="fullPageLayout">

        <!-- Sayfanın üst kısmı -->
              <p:layoutUnit position="north" resizable="false"style="border: none; padding: 0px !important">
          **üst menüyü bu kısıma yerleştirirsin.**
              </p:layoutUnit>

         <!-- Sayfanın sol yan kısmı -->
            <p:layoutUnit position="west" id="west">
                  <!-- ayrı bir sayfada hazırladığın yan menüyü burda include edebilirsin -->
                <ui:include src="menu.xhtml" />
            </p:layoutUnit>

         <!-- Sayfanın orta kısmı -->
        <p:layoutUnit position="center" id="center" style="overflow: hidden; padding-top: 0px;">

           <!-- alttaki tanımlama oluşturacağın normal sayfaların orta kısma yerleşmesi için kullanacağın  etiket.  mesela users.xhtml sayfasında <h:form> dan önce <ui:define name="body"> etiketini eklersen o sayfan templatenin ortasında görünrülenir. -->
        <ui:insert name="body" />

        </p:layoutUnit>

      <!-- Sayfanın alt kısmı -->
            <p:layoutUnit position="south" id="south" size="40">
        alt kısma ait herşey buraya yerleştirilmeli
                <ui:include src="footer.xhtml" />
            </p:layoutUnit>
        </p:layout>

    </h:body>
    </html>

örnek projeyi buradan inceleyebilirsiniz..kolay gelsin. https://github.com/hakanu/simple-bank-app/blob/master/WebContent/templates/p_yonetici_template.xhtml

permanent link

cevaplandı: 26 Haz '13, 06:09

Ekici's gravatar image

Ekici
12691217
cevap kabul oranı: 25%

değiştirildi: 26 Haz '13, 06:12

Merhaba, sorunun üzerinden epey zaman geçmiş ama aynı konudan tekrar açmamak için buradan devam etmenin uygun olacağını düşündüm. Soruyu soran arkadaşla aynı sorunu yaşıyorum. JSF uygulamamda, bir template ve template içinde görüntülenecek sayfalar oluşturdum. JSF 2, Primefaces (5.2) layout, menubar componentleri kullandım. Menubar-menuitem action özelliğine sayfa adresini verdim ve her tıkladığımda sayfanın görüntülenmesinde sorun yok fakat her sayfa seçtğimde template sayfası da tekrar yükleniyor. Benim beklentim, şablonun sabit kalıp sadece detay sayfaların yüklenmesiydi ama böyle bir özellik yok mu yoksa ben mi kullanamadım, bu konuda yardımınızı rica ediyorum. Uygulamanın kodları;

layout.xhtml
<html xmlns:....... >
<h:head><title>.......</title></h:head>
<h:body>
    <h:form>
        <p:layout fullPage="true">
            <p:layoutUnit position="west" size="35%">        
                <p:panelGrid columns="4">
                    <h:outputText value="Bölge"/>
                    <h:outputText value="İlk Tarih"/>
                    <h:outputText value="Son Tarih"/>
                    <h:commandButton value="SORGULA" />                
                </p:panelGrid>
                <p:gmap  model="#{.........}" id="gmap"   center="#{............}"   type="ROADMAP" />
            </p:layoutUnit>
            <p:layoutUnit position="center" >
                <p:layout>
                    <p:layoutUnit position="north">
                        <p:menubar >
                            <p:submenu   label="XXX"   >
                                <p:menuitem  value="A"  action="a.xhtml" />
                                <p:menuitem value="B  action="b.xhtml"/>
                                <p:menuitem value="C" action="c.xhtml" />
                            </p:submenu>
                        </p:menubar>   
                    </p:layoutUnit>
                    <p:layoutUnit position="center" >
                        <ui:insert name="icerik"/>
                    </p:layoutUnit>
                </p:layout>
            </p:layoutUnit>              
        </p:layout>
    </h:form>
</h:body>
</html>`

a.xhtml ,b.xhtml, c.xhtml sayfalarım
<html xmlns.......>
    <h:head>
        <title>......</title>       
    </h:head>
 <ui:composition template="/layout.xhtml">
        <ui:define name="icerik">    
          <p:accordionPanel>
           <p:tab ...../>
          </p:accordionPanel>             
        </ui:define>
    </ui:composition>
</html>

`

permanent link

cevaplandı: 11 Eki '15, 13:09

JSF's gravatar image

JSF
0112
cevap kabul oranı: 0%

değiştirildi: 11 Eki '15, 13:10

Merhaba, Daha önceden aynı şekilde ben sormuştum. @SarpArda kullanıcısının yorumu yol gösterdi onda da farklı sorunlar çıkmıştı. Yine de bir bakmanı öneririm. http://www.btsoru.com/questions/19172/primefaces-layoutda-center-guncellenmesi-nasl-yaplabilir

(11 Eki '15, 16:26) kurtomerfaruk kurtomerfaruk's gravatar image

Merhaba Ömer Faruk bey, ilginize teşekkür ederim. Sitede sizin konunuzu ve benzer konuları da okudum fakat bir türlü beceremedim. Bilgim dahilindeki neredeyse bütün yöntemleri denedim, gerçi çoğu ezbere olduğu için olmadı muhtemelen, ve beyin göçü yaşamak üzereyim :) Aslında çözüm küçük bir ajax işlemi ile halledilecek kadar basit sanırım ama bir yerdeki yanlışlık çözümsüzlüğe götürdü konuyu. Siz bu sorunu çözdünüz mü, çözdüyseniz nasıl çözdünüz, rica etsem basitçe anlatabilirmisiniz?

permanent link

cevaplandı: 12 Eki '15, 15:15

JSF's gravatar image

JSF
0112
cevap kabul oranı: 0%

değiştirildi: 12 Eki '15, 15:18

https://alvinsim.wordpress.com/2012/08/22/dynamically-include-a-jsf/ linkteki gibi bir yöntem izlemiştim ama şu an hatırlamıyorum. Zaten kullanmıyorum da çünkü hata sayfalarını yönlendirmekte sorun çıktığını hatırlıyorum. Bu sebeple bu yöntemden vazgeçip normal bir şekilde kullanmaya başladım. Tabiki bu da hatalı çünkü her seferinde yüklendiğinde kasılmalar oluşuyor.

(13 Eki '15, 01:54) kurtomerfaruk kurtomerfaruk's gravatar image

include ile yaparsan her defasında refresh edecektir. Bahsettiğiniz gibi bir yapı kurmak için Layout kullanmak yerine JSF Template kullanmanızı öneririm. Aşağıda jsf template kullanımını anlatan linkleri bulabilirsiniz.

Link- 1

Link- 2

Link- 3

permanent link

cevaplandı: 26 Eki '15, 06:19

SaRPaRDa's gravatar image

SaRPaRDa
5.0k213165
cevap kabul oranı: 27%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×97

Soruldu: 26 Haz '13, 03:36

Görüntüleme: 1,390 kez

Son güncelleme: 26 Eki '15, 06:19

powered by BitNami OSQA