SORU
25 EKİM 2012, PERŞEMBE


H:button arasındaki fark ve h:commandButton

AKSARAY h:button h:commandButton arasındaki fark nedir 2,?

CEVAP
25 EKİM 2012, PERŞEMBE


<h:button>

<h:button> HTML <input type="button"> oluşturur. Oluşturulan elemanın JavaScript sayfası özniteliği tarafından verilen gitmek için kullanır outcome bir HTTP GET isteği kullanarak.

E. g.

<h:button value="GET button" outcome="otherpage" />

oluşturur

<input type="button" onclick="window.location.href='/contextpath/otherpage.xhtml'; return false;" value="GET button" />

Bu tarayıcı adres çubuğuna (bookmarkable) URL değişikliği biter olsa bile, bu SEO için uygun değildir. Searchbots onclick URL takip etmeyecektir. Daha iyi SEO verilen URL önemliyse <h:outputLink> <h:link> bir kullanmak istiyorum. Gerekirse bir düğme gibi görünmek için <a> oluşturulan HTML öğesi üzerinde bazı CSS atmak olabilir.


<h:commandButton>

<h:commandButton> oluşturur bir HTML <input type="submit"> düğmesi gönderir varsayılan ana <h:form> kullanarak HTTP POST yöntemi çağırır ve eylemleri bağlı action, actionListener ve/veya <f:ajax listener> varsa. <h:form> gereklidir.

E. g.

<h:form id="form">
    <h:commandButton id="button" value="POST button" action="otherpage" />
</h:form>

oluşturur

<form id="form" name="form" method="post" action="/contextpath/currentpage.xhtml" enctype="application/x-www-form-urlencoded">
    <input type="hidden" name="form" value="form" />
    <input type="submit" name="form:button" value="POST button" />
    <input type="hidden" name="javax.faces.ViewState" id="javax.faces.ViewState" value="...." autocomplete="off" />
</form>

Bu nedenle, geçerli sayfa (form action URL tarayıcı Adres çubuğu görünecektir) teslim unutmayın. Daha sonra olacaktırileritarayıcıda URL herhangi bir değişiklik olmadan hedef sayfa için, adres çubuğuna. ?faces-redirect=true sonuç hedef URL bookmarkable olur bu yazıdan sonra yönlendirme (Post-Redirect-Get pattern) başı olarak tetiklemek için değeri için parametre ekleyebilirsiniz.

<h:commandButton> genellikle sadece bir posta formu göndermek için kullanılan, değil gerçekleştirmek için sayfa sayfa gezinti. Normal olarak, action String sonuç verir, DB bazı iş eylem, form verilerini kaydetme gibi dikkat çekiyor.

<h:commandButton ... action="#{bean.save}" />

ile

public String save() {
    // ...
    return "otherpage";
}

null void geri geri aynı görünüm getirecek. Ayrıca boş bir dize dönen, ama herhangi bir görünüm fasulye kapsamlı yaratacaktır. Bu günlerde, modern ve JSF2 <f:ajax> daha sık eylemler sadece dönüş için aynı görünüm (böylece null void) neyin sonuçları şartlı hale tarafından ajax.

public void save() {
    // ...
}

Ayrıca Bkz:

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Canceriansoul

    Canceriansou

    15 Ocak 2011
  • dcigs

    dcigs

    9 EYLÜL 2006
  • HTC Tutorials

    HTC Tutorial

    21 EYLÜL 2010