1. Hızlı bir şekilde bir webx uygulaması oluşturun: komut satırına aşağıdaki komutu girin: (maven'in kurulu olması şartıyla) Ayrıntılar için resmi webx belgelerine bakın:
Ardından proje dizinine girin, mvn clean install komutunu girin ve ardından çalıştırmak için mvn jetty:run komutunu girin. Yukarıdaki kod, projeyi çalıştırmak için iskeleyi kullanıyor. İskele, pom dosyasında varsayılan olarak yapılandırıldığından, doğrudan başlatılabilir. İskelenin varsayılan port numarası 8081'dir. Başlattıktan sonra, tarayıcıya localhost:8081 yazıp proje sayfasına girmek için Enter tuşuna basabilirsiniz.
2. Ardından kod yazmaya başlayın.Önce bir login sayfası yazalım: src/main/webapp/app1/templates/screen/login.vm
login.vm kod analizi
Öncelikle webx sayfası hız şablon dosyası kullanılarak yazılır, bu nedenle dosya adı .vm uzantılıdır ve ardından bir from formu vardır ve form eyleminin içeriği doldurulur.
$app1Link.setTarget("giriş")
Bunlar arasında, app1Link, webx3'ün url aracı hizmetidir.URL'yi belirli yapılandırmaya göre dinamik olarak oluşturur.Projenin kök dizinini temsil eder.setTarget yöntemini çağırın ve oturum açma hedefini ayarlayın.Bu kod şu anlama gelir: form doğrulama başarısız olursa, sayfa da bu sayfaya atlar ve bu sayfanın adresi oturum açma hedefi kullanılarak atlanır. Sayfanın adı login olduğu için (bu, webx çerçevesinin sözleşmesidir, konfigürasyon ilkesinden daha büyüktür) Sonra, gizli alana bakalım: Bu gizli alanın işlevi, sayfa form doğrulamasını geçtiğinde, sayfanın form doğrulamasını geçmesidir. gizli alan tarafından belirtilen değere atlayacaktır.hedef. Buradaki konfigürasyon bir eylemdir, o zaman boru hattı yürütmeyi LoginAction sınıfına aktaracaktır (nedeni ayrıca webx çerçevesinin konvansiyonunu takip etmektir, konfigürasyon ilkesinden daha büyüktür). Bundan sonra hangi metodun çalıştırılacağından bahsedeceğiz ve LoginAction'ın ne iş yaptığı daha sonra yazılacak. #set($grup=$form.login.defaultÖrnek)
Bu, bir değişken tanımlamaya eşdeğerdir. Bu değişken, form doğrulamanın bir örneğidir.Bir sonraki if ifadesi, yanlış bilgilerin girilip girilmeyeceğini kontrol eder.Yalnızca alan doğrulama başarılı olduğunda (yani $group.field.valid=true), hata mesajı görüntülenir. $group.field.valid, doğrulamadan geçen boş formlar ve alanlar için geçerlidir.
3. Ardından iki sınıf daha oluşturuyoruz
Birinci sınıf bir varlık sınıfıdır: com.alibaba.webx.tutorial1.app1.Visitor.java
Bu sınıf hakkında söylenecek bir şey yok, esas olarak form elemanlarının enjeksiyonu için kullanılan bir javabean varlık sınıfıdır.
Ardından, action sınıfını yazmaya başlıyoruz.
com.alibaba.webx.tutorial1.app1.module.action.LoginAction.java
LoginAction.java kod analizi
Bu sınıfın yalnızca bir yöntemi vardır, doCheck. İlk olarak login.vm formu gönderildiğinde bu sınıfın doCheck metodu çalıştırılacaktır.
@FormGroup("login")Ziyaretçi ziyaretçi Bu açıklama güçlü bir açıklamadır. Aynı anda birkaç şey yapar. Birincisi form doğrulamadır. Form doğrulama başarılı olursa, doCheck yöntemi yürütülür. Başarısız olursa, yöntem uygulanır. yürütülmez ve ardından formu ve oturum açma grubu nesnelerini alın ve gruptaki verileri Visitor nesnesine enjekte edin. Ayarlanan isme göre name isme, passwd ise passwd'ye enjekte edilir.
nav.redirectTo(app1Link).withTarget(form/welcome).withParameter(name,name); Bu sayfa atlamadır. .
4. Ardından WEB-INF/app1/form.xml'i değiştirmeli ve biraz içerik eklemeliyiz.
Bu form doğrulaması detaylı olarak tartışılmayacaktır.Anlaşılabilir olmalıdır.Anlamadıysanız lütfen resmi dökümanları okuyunuz.