Wicket と仲間たち サブプロジェクトの紹介 07.8.10 (C) Yoichiro Tanaka. All rights reserved.
情報源 <ul><li>Apache Wicket Reference Library </li></ul><ul><ul><li>http://cwiki.apache.org/WICKET/reference-library.html </...
情報源 <ul><li>Wicket Stuff Wiki </li></ul><ul><ul><li>http://wicketstuff.org/confluence/display/STUFFWIKI/Wiki </li></ul></u...
サブプロジェクト <ul><li>Apache Wicket Reference Library </li></ul><ul><ul><li>少なくとも 5 個 </li></ul></ul><ul><li>Wicket Stuff Wiki ...
サブプロジェクト 07.8.10 (C) Yoichiro Tanaka. All rights reserved. Databinder Wicket Support module for NetBeans IDE wicket-auth-r...
サブプロジェクト 07.8.10 (C) Yoichiro Tanaka. All rights reserved. Databinder Wicket Support module for NetBeans IDE wicket-auth-r...
wicket-spring <ul><li>コンポーネントに Spring 管理オブジェクトを DI </li></ul><ul><ul><li>@SpringBean アノテーションを利用 </li></ul></ul>07.8.10 (C)...
wicket-auth-roles <ul><li>Wicket に認証・認可機構を追加 </li></ul><ul><li>Acegi との連携も可能 </li></ul>07.8.10 (C) Yoichiro Tanaka. All ri...
wicket-auth-roles 07.8.10 (C) Yoichiro Tanaka. All rights reserved. public class YourAppSession extends AuthenticatedWebSe...
wicket-auth-roles 07.8.10 (C) Yoichiro Tanaka. All rights reserved. public class YourAppApplication extends AuthenticatedW...
wicketstuff-dojo <ul><li>Wicket で Dojo を使うためのライブラリ </li></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
wicketstuff-dojo 07.8.10 (C) Yoichiro Tanaka. All rights reserved. public class FloatingPaneShower extends WicketExamplePa...
wicketstuff-dojo 07.8.10 (C) Yoichiro Tanaka. All rights reserved. <!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Trans...
wicket-groovy <ul><li>Wicket アプリケーションを Groovy で記述 </li></ul><ul><ul><li>Builder を使って,記述を簡潔にできる </li></ul></ul>07.8.10 (C) ...
wicket-groovy <ul><li>Java の場合 </li></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved. Form  form  = new Form(&quot;co...
wicket-groovy <ul><li>Groovy の場合 </li></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved. WicketBuilder builder = new W...
wicket-contrib-javaee <ul><li>アノテーションにより JavaEE リソースを利用 </li></ul><ul><ul><li>@EJB </li></ul></ul><ul><ul><li>@Persistence...
wicket-contrib-javaee <ul><li>@EJB </li></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved. public class ListContacts e...
整理すると 07.8.10 (C) Yoichiro Tanaka. All rights reserved. セキュリティ系 Swarm WASP の実装 wicket-auth-roles Acegi との連携による認証・認可 JavaSc...
整理すると 07.8.10 (C) Yoichiro Tanaka. All rights reserved. その他 Pax Wicket Service OSGi を Wicket に統合 Databinder Hibernate を Wi...
Wicket Support module 07.8.10 (C) Yoichiro Tanaka. All rights reserved.
Wicket Support module 07.8.10 (C) Yoichiro Tanaka. All rights reserved.
S2Wicket <ul><li>S2Container を Wicket に統合 </li></ul><ul><ul><li>命名規則により DI することも可能 </li></ul></ul>07.8.10 (C) Yoichiro Tan...
Grails - Wicket plugin <ul><li>Grails </li></ul><ul><ul><li>RoR にインスパイアされた Groovy での Rails </li></ul></ul><ul><li>Wicket と...
まとめ <ul><li>Wicket はサブプロジェクトでさらに強力に </li></ul><ul><ul><li>リッチ Ajax アプリを Java で記述 </li></ul></ul><ul><ul><li>主要 DI コンテナとの統合...
Upcoming SlideShare
Loading in …5
×

Wicket勉強会2

3,702
-1

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,702
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Wicket勉強会2

  1. 1. Wicket と仲間たち サブプロジェクトの紹介 07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  2. 2. 情報源 <ul><li>Apache Wicket Reference Library </li></ul><ul><ul><li>http://cwiki.apache.org/WICKET/reference-library.html </li></ul></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  3. 3. 情報源 <ul><li>Wicket Stuff Wiki </li></ul><ul><ul><li>http://wicketstuff.org/confluence/display/STUFFWIKI/Wiki </li></ul></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  4. 4. サブプロジェクト <ul><li>Apache Wicket Reference Library </li></ul><ul><ul><li>少なくとも 5 個 </li></ul></ul><ul><li>Wicket Stuff Wiki </li></ul><ul><ul><li>少なくとも 10 個 </li></ul></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  5. 5. サブプロジェクト 07.8.10 (C) Yoichiro Tanaka. All rights reserved. Databinder Wicket Support module for NetBeans IDE wicket-auth-roles Pax Wicket Service wicket-spring fvalidate-integration wicketstuff-dojo wicketstuff-animator wicketstuff-scriptaculous Swarm wicket-contrib-javaee wicket-groovy wicket-portlets wicket-contrib-gmap(2)
  6. 6. サブプロジェクト 07.8.10 (C) Yoichiro Tanaka. All rights reserved. Databinder Wicket Support module for NetBeans IDE wicket-auth-roles Pax Wicket Service wicket-spring fvalidate-integration wicketstuff-dojo wicketstuff-animator wicketstuff-scriptaculous Swarm wicket-contrib-javaee wicket-groovy wicket-portlets wicket-contrib-gmap(2)
  7. 7. wicket-spring <ul><li>コンポーネントに Spring 管理オブジェクトを DI </li></ul><ul><ul><li>@SpringBean アノテーションを利用 </li></ul></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved. class EmployeePage extends WebPage { @SpringBean(name=“employeeDao”) private EmployeeDao dao; @SpringBean private DivisionDao divisionDao; } employeeDao divisionDao ApplicationContext
  8. 8. wicket-auth-roles <ul><li>Wicket に認証・認可機構を追加 </li></ul><ul><li>Acegi との連携も可能 </li></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  9. 9. wicket-auth-roles 07.8.10 (C) Yoichiro Tanaka. All rights reserved. public class YourAppSession extends AuthenticatedWebSession { public boolean authenticate(String username, String password) { // 認証処理 } public YourAppUserDetails getUser() { // ユーザ情報取得処理 } public Roles getRoles() { // ロール情報取得処理 } public void signout() { // ログアウト処理 } }
  10. 10. wicket-auth-roles 07.8.10 (C) Yoichiro Tanaka. All rights reserved. public class YourAppApplication extends AuthenticatedWebApplication { private AuthenticationManager authenticationManager; protected void init() { super.init(); getSecuritySettings().setAuthorizationStrategy( new MetaDataRoleAuthorizationStrategy(this)); // MetaDataRoleAuthorizationStrategy.authorize( EditPage.class, SecurityConstants.ROLE_EDITOR); MetaDataRoleAuthorizationStrategy.authorize( ManagerPage.class, SecurityConstants.ROLE_MANAGER); } }
  11. 11. wicketstuff-dojo <ul><li>Wicket で Dojo を使うためのライブラリ </li></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  12. 12. wicketstuff-dojo 07.8.10 (C) Yoichiro Tanaka. All rights reserved. public class FloatingPaneShower extends WicketExamplePage { public FloatingPaneShower(PageParameters parameters){ DojoFloatingPane pane1 = new DojoFloatingPane( &quot;pane1&quot;); add(pane1); DojoFloatingPane pane2 = new DojoFloatingPane(&quot;pane2&quot;); pane1.add(pane2); pane1.setDisplayCloseAction(false); pane1.setHeight(&quot;300px&quot;); pane1.setWidth(&quot;300px&quot;); pane2.setTitle(&quot;a title here&quot;); } }
  13. 13. wicketstuff-dojo 07.8.10 (C) Yoichiro Tanaka. All rights reserved. <!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;> <html> <body> <wicket:extend> <div wicket:id=&quot;pane1&quot;> content of my floatingPane <b>Could be html</b> <div wicket:id=&quot;pane2&quot;>A window in an other window</div> </div> </wicket:extend> </body> </html>
  14. 14. wicket-groovy <ul><li>Wicket アプリケーションを Groovy で記述 </li></ul><ul><ul><li>Builder を使って,記述を簡潔にできる </li></ul></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  15. 15. wicket-groovy <ul><li>Java の場合 </li></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved. Form form = new Form(&quot;contactForm&quot;){ protected void onSubmit () { try { ((Contact)getModel().getModelObject()).save(); } catch(SomeCrazyException e) { throw new RuntimeException(&quot;I don't know what to do with this. Just fail.&quot;, e); } } }; form.add(new RequiredTextField(&quot;firstname&quot;); form.add(new RequiredTextField(&quot;lastname&quot;).add(StringValidator.maximumLength(32)); add(form);
  16. 16. wicket-groovy <ul><li>Groovy の場合 </li></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved. WicketBuilder builder = new WicketBuilder(this) builder. form (&quot;contactForm&quot;, model:new CompoundPropertyModel(contact), onSubmit :{ model.modelObject.save() }) { requiredTextField(&quot;firstname&quot;) requiredTextField(&quot;lastname&quot;) {add(StringValidator.maximumLength(32))} }
  17. 17. wicket-contrib-javaee <ul><li>アノテーションにより JavaEE リソースを利用 </li></ul><ul><ul><li>@EJB </li></ul></ul><ul><ul><li>@PersistenceUnit </li></ul></ul><ul><ul><li>@Resource </li></ul></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  18. 18. wicket-contrib-javaee <ul><li>@EJB </li></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved. public class ListContacts extends WebPage { @EJB(name=&quot;ejb/contacts&quot;) private ContactService contactService; public ListContacts() { List<Contact> contacts = contactService.getContacts(); //....
  19. 19. 整理すると 07.8.10 (C) Yoichiro Tanaka. All rights reserved. セキュリティ系 Swarm WASP の実装 wicket-auth-roles Acegi との連携による認証・認可 JavaScript 系 wicketstuff-scriptaculous script.aculo.us を Wicket に統合 wicketstuff-dojo Dojo を Wicket に統合 wicket-contrib-gmap(2) GoogleMaps を Wicket に統合 fvalidate-integration fvalidate を Wicket に統合 wicketstuff-animator animator.js を Wicket に統合 Java 系 wicket-spring SpringFramework を Wicket に統合 wicket-portlets Portlets API(JSR-168) を Wicket に統合 wicket-groovy Wicket コードを Groovy で記述 wicket-contrib-javaee JavaEE を Wicket に統合
  20. 20. 整理すると 07.8.10 (C) Yoichiro Tanaka. All rights reserved. その他 Pax Wicket Service OSGi を Wicket に統合 Databinder Hibernate を Wicket に統合 Wicket support module NetBeans IDE 上で Wicket 開発
  21. 21. Wicket Support module 07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  22. 22. Wicket Support module 07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  23. 23. S2Wicket <ul><li>S2Container を Wicket に統合 </li></ul><ul><ul><li>命名規則により DI することも可能 </li></ul></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved. class EmployeePage extends WebPage { @SeasarComponent(name=“employeeDao”) private EmployeeDao dao; @SeasarComponent private DivisionDao divisionDao; } employeeDao divisionDao S2Container
  24. 24. Grails - Wicket plugin <ul><li>Grails </li></ul><ul><ul><li>RoR にインスパイアされた Groovy での Rails </li></ul></ul><ul><li>Wicket との統合 </li></ul><ul><ul><li>Controller , View を Wicket で記述可能 </li></ul></ul><ul><ul><ul><li>簡単な画面は Scaffold で作る </li></ul></ul></ul><ul><ul><ul><li>複雑な画面は Wicket で作る </li></ul></ul></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  25. 25. まとめ <ul><li>Wicket はサブプロジェクトでさらに強力に </li></ul><ul><ul><li>リッチ Ajax アプリを Java で記述 </li></ul></ul><ul><ul><li>主要 DI コンテナとの統合 </li></ul></ul><ul><ul><li>セキュリティの設定も Java で記述 </li></ul></ul>07.8.10 (C) Yoichiro Tanaka. All rights reserved.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×