Wicket勉強会2

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Group

    Wicket勉強会2 - Presentation Transcript

    1. Wicket と仲間たち サブプロジェクトの紹介 07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    2. 情報源
      • Apache Wicket Reference Library
        • http://cwiki.apache.org/WICKET/reference-library.html
      07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    3. 情報源
      • Wicket Stuff Wiki
        • http://wicketstuff.org/confluence/display/STUFFWIKI/Wiki
      07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    4. サブプロジェクト
      • Apache Wicket Reference Library
        • 少なくとも 5 個
      • Wicket Stuff Wiki
        • 少なくとも 10 個
      07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    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. サブプロジェクト 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. wicket-spring
      • コンポーネントに Spring 管理オブジェクトを DI
        • @SpringBean アノテーションを利用
      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. wicket-auth-roles
      • Wicket に認証・認可機構を追加
      • Acegi との連携も可能
      07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    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. 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. wicketstuff-dojo
      • Wicket で Dojo を使うためのライブラリ
      07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    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( "pane1"); add(pane1); DojoFloatingPane pane2 = new DojoFloatingPane("pane2"); pane1.add(pane2); pane1.setDisplayCloseAction(false); pane1.setHeight("300px"); pane1.setWidth("300px"); pane2.setTitle("a title here"); } }
    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. wicket-groovy
      • Wicket アプリケーションを Groovy で記述
        • Builder を使って,記述を簡潔にできる
      07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    15. wicket-groovy
      • Java の場合
      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. wicket-groovy
      • Groovy の場合
      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. wicket-contrib-javaee
      • アノテーションにより JavaEE リソースを利用
        • @EJB
        • @PersistenceUnit
        • @Resource
      07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    18. wicket-contrib-javaee
      • @EJB
      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. 整理すると 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. 整理すると 07.8.10 (C) Yoichiro Tanaka. All rights reserved. その他 Pax Wicket Service OSGi を Wicket に統合 Databinder Hibernate を Wicket に統合 Wicket support module NetBeans IDE 上で Wicket 開発
    21. Wicket Support module 07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    22. Wicket Support module 07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    23. S2Wicket
      • S2Container を Wicket に統合
        • 命名規則により DI することも可能
      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. Grails - Wicket plugin
      • Grails
        • RoR にインスパイアされた Groovy での Rails
      • Wicket との統合
        • Controller , View を Wicket で記述可能
          • 簡単な画面は Scaffold で作る
          • 複雑な画面は Wicket で作る
      07.8.10 (C) Yoichiro Tanaka. All rights reserved.
    25. まとめ
      • Wicket はサブプロジェクトでさらに強力に
        • リッチ Ajax アプリを Java で記述
        • 主要 DI コンテナとの統合
        • セキュリティの設定も Java で記述
      07.8.10 (C) Yoichiro Tanaka. All rights reserved.

    + yoichiroyoichiro, 3 years ago

    custom

    3021 views, 0 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 3021
      • 2912 on SlideShare
      • 109 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 32
    Most viewed embeds
    • 109 views on http://www.eisbahn.jp

    more

    All embeds
    • 109 views on http://www.eisbahn.jp

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events