SORU
30 HAZİRAN 2009, Salı


Birden fazla sayfa Google Web öğretici Toolkit (GWT)

Ben sadece Google Web Toolkit (GWT) öğrenmeye başladı. Nasıl GWT uygulamam farklı HTML sayfaları yapabilirim?

Örneğin, bir kitapçı için bir uygulama oluşturmak istiyorum. Bu Uygulamada üç sayfa var ..

  1. Kullanıcı karşılama ve kullanıcı kitapları önereceğim nerede giriş sayfaları
  2. Sayfa kategorileri tarafından kitaplara göz atın ve ayrıntılarını görüntülemek için (GWT widget kullanın)
  3. Kitapları çevrimiçi bakın.

Tabii ki kullanıcı ayrıntıları gibi diğer sayfaları da olabilir, eklemek yeni kitap, vb. , GWT, farklı sayfaları yapmanın en iyi yolu nedir? ve nasıl navigasyon sayfadan sayfaya yapabilir miyim? Herhangi bir örnek veya dersler var mı? Hatta bir sayfada bütün bir uygulama oluşturmak için farklı sayfaları oluşturmak gerekiyor mu?

CEVAP
30 HAZİRAN 2009, Salı


Ben genellikle bu gibi durumlarda ne sayfasını çerçevesinde ilk tasarım. Bir div üstbilgi, altbilgi ve yan menü alacağım. Ayrıca ana içeriği için HTML div alacağım.

Örnek:

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta name='gwt:module' content='org.project.package.Core=org.project.package.Core'>
    </head>
    <body>
        <!-- Load the JavaScript code for GWT -->
        <script language="javascript" src="ui/org.project.package.ui.Core.nocache.js"></script>

        <!-- For some unknown reason in Internet Explorer you have to have cellpadding/spacing ON THE ELEMENT and not on the STYLE if it is in the body tag like this -->
        <table id="wrapper" cellpadding="0" cellspacing="0" style="width: 100%;height: 100%;">

             <!-- Header row -->
             <tr style="height: 25%;">
                 <td colspan="2" id="header"></td>
             </tr>

             <!-- Body row and left nav row -->
             <tr style="height: 65%;">
                 <td id="leftnav"></td>
                 <td id="content"></td>
             </tr>

             <!-- Footer row -->
             <tr style="height: 10%;">
                <td colspan="2" id="footer"></td>
             </tr>

        </table>

        <!-- This iframe handles history -->
        <iframe id="__gwt_historyFrame" style="width:0;height:0;border:0"></iframe>
    </body>
</html>

Eğer isterseniz < (; div> tabanlı düzenleri, o bunun yerine kullanmak için çekinmeyin.)

Sonra normalde olması gereken unsurların her ayarı gibi giriş noktası (benim durumumda Core.java) oluşturun.

RootPanel.get("header").add(new Header());
RootPanel.get("leftnav").add(new NavigationMenu());
RootPanel.get("footer").add(new Footer());

Tabii ki, statik bir altbilgi olması mümkün ve başlık, ama ne burada ne de orada.

Ben de soyut bir sınıf olarak adlandırılan "". İçerik İçerik nesneleri "Kompozit" ve yeni bir sayfa oluşturma ve düzenini basitleştirmek için çeşitli yöntemler var uzatacağız Bu uygulama için ben oluşturmak her sayfa, yardım ekranı, arama ekranı, alışveriş sepeti, ya da başka bir şey olmak, 7 ** tür.

Şimdi, ben ne bir sınıf oluşturun."". ContentContainer Bu "eleman. içerik yönetiminden sorumlu bir tek. Bir yöntemi vardır. "" tür nesneleri kabul eden"". İçerik setContent Daha sonra temel olarak "<td> ve değiştirir ne olursa olsun widget (Bileşik)" "yöntemi. setContent üzerinden atamadan bu içerik içinde her şeyi kaldırır SetContent yöntemi aynı zamanda tarih ve başlık çubuğu yönetimi işler. Temelde ContentContainer eğer her sayfa içeriği yapması gereken tüm işlevleri hakkında. bilmek olsaydı yapmak zorunda kalabilirsiniz bağlama, çeşitli puan toplamak için hizmet vermektedir

Son olarak, bu sayfayı almak için bir yol gerekir, değil mi? Bu kadar basit

ContentContainer.getInstance().setContent(new Search());

Üzerine tıkla bir olay yukarıda bir yere koy ve altın.

Diğer aletler için bağlı olması gereken tek şey ContentContainer ve ekliyoruz İçeriğin türü.

Belirteçleri - ^ muhafaza edilmesi gereken bir liste var ChrisBo bir yaklaşım görüyorum bu olumsuzlukları . sayfalar. Görebiliyorum diğer dezavantajı bu yöntem ile gerçek tarihin bir sistem nasıl olabilir, bilmiyorum.

Benim yaklaşım üzerinden teklif yaptığı şeylerden biri tüm sayfayı seçimler oldukça merkezi vardır. Numaralama bir çeşit ya da en azından bağlantıları mongling kadar kendimi engellemeye Dize değerleri ile statik bir sınıf kullanmak istiyorum.

Her iki durumda da, bu nokta olarak özetlenebilir sanırımbazı orta sayfa unsur temel içeriğini değiştirinne tıkladığındaeylemler kullanıcı(lar) gerçekleştirin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan D.

    Jonathan D.

    3 Kasım 2006
  • KSI

    KSI

    25 Temmuz 2009
  • Tube Time

    Tube Time

    14 Mayıs 2013