2012-10-11 22 views
5

Tôi vừa mới bắt đầu cố gắng làm việc với khung chơi và cố gắng hiểu ứng dụng mặc định này khi bạn tạo một dự án mới.Tìm hiểu cách tạo trang "Chào mừng bạn đến với Play 2.0"

Vì vậy, theo như tôi hiểu, khi tải trang localhost, yêu cầu nhận http đến và được chuyển hướng đến phương thức Application.index() do đặc điểm kỹ thuật trong tệp tuyến đường? Trong phương thức index(), nhiều mã HTML được tạo và trả lại trong đối tượng Kết quả và được chuyển đến tệp index.scala.html để chuyển nó đến main.scala.html nơi được bao quanh bằng nhiều html hơn.

Bây giờ, một vài điều không rõ ràng với tôi:

  • trong Application.java có dòng này return ok(index.render("Hello World!")); chỉ số thuộc về views.html.*; nhưng gói này ở đâu? Tôi không thể tìm thấy nó trong API :(

  • tại sao tôi không thể đổi tên file index.scala.html là tên một quy ước

  • trong index.scala.html tập tin riêng của mình:?? Gì @play20.welcome(message, style = "Java") làm được điều này nhận được "Chào mừng bạn đến chơi 2.0" trang web này đến lần khác? - tôi không thể tìm thấy mục tài liệu/API cho điều play20 :(

tôi hy vọng, ai đó có thể giúp tôi để có được một cái nhìn tổng quan, như tôi thực sự bối rối vào lúc này .. ^^ Tôi đã làm rất nhiều java, nhưng không có lập trình web nào cả, do đó sự pha trộn của tất cả các công nghệ và ngôn ngữ khác nhau là khá lạ vào lúc này!

Trả lời

5

Trong TodoList example, gốc trang web GET / được ánh xạ tới phương thức Application.index(), vì vậy phương pháp này tạo ra html bạn đang thấy.

Mọi thứ bộ điều khiển sẽ xảy ra trong dòng này: return ok(index.render("Hello World!"));. Về cơ bản nó gọi một số mẫu tạo html và trả về kết quả.

  • return ok(...) được sử dụng để chỉ ra một yêu cầu thành công, Mã trả về 200.
  • index.render(...) trả về đầu ra html render của một mẫu tên index. Các gói được sử dụng ở đây là views.html.* nhưng nó thực sự đề cập đến views/index.scala.html. Vì vậy, phần index không có quy ước, bạn có thể đổi tên phần đó theo ý muốn. Mẫu cần được biên dịch trước khi nó có thể sử dụng được như một lớp Java, đó là lý do tại sao các tên gói khác nhau. Khung làm việc này.
  • "Hello World!" là lập luận, như quy định như nhắn tham số trong dòng đầu tiên của index.scala.html
  • @play20.welcome(...) chỉ gọi mẫu khác, một welcome page được bao gồm trong khuôn khổ. Nó không phải là một chủ đề để thay đổi - nó chỉ là trang tĩnh, sau khi loại bỏ dòng đó từ xem bạn có thể đặt bất kỳ HTML nào bạn muốn.
+0

cảm ơn bạn! :) .. đặc biệt là đối với liên kết đến trang chào mừng trên GIT! – chris

Các vấn đề liên quan