2012-03-16 45 views
5

Sử dụng khung chơi 2.0 ở chế độ Java và tôi muốn chuyển một danh sách các chuỗi tới một Bộ điều khiển bằng cách sử dụng các tham số URL.Cách chuyển danh sách các chuỗi

Cho một URL như:

http://localhost:9000/echo?messages=hello&messages=world 

Tôi muốn gọi phương thức điều khiển của tôi:

public static Result echo(List<String> messages){ 
    return ok("Size: " + messages.size()); 
} 

tập tin tuyến đường của tôi trông như thế này:

GET  /echo    controllers.Application.echo(messages: List[String]) 

Nhưng nó doesn' t làm việc. Tôi nhận được lỗi tuyên bố không có chất kết dính QueryString cho Danh sách [Chuỗi]. Điều này dường như không đúng với tôi vì đây là chức năng khá chuẩn trong phiên bản trước. Có ai biết làm thế nào tôi có thể vượt qua một danh sách các chuỗi để điều khiển bằng cách sử dụng một dự án Java?

Trả lời

7

Còn bây giờ bạn có thể lấy chúng ra khỏi chuỗi truy vấn:

public static Result echo(){ 
    String[] messages = request().queryString().get("messages"); 
    return ok("Size: " + messages.length); 
} 

Cập nhật: Một danh sách binder has been added, vì vậy bạn chỉ có thể viết như sau:

public static Result echo(List<String> messages) { 
    return ok("Size:" + messages.size()); 
} 

Hãy chắc chắn tuyến đường của bạn định nghĩa giống như sau:

GET /echo  controllers.Application.echo(messages: java.util.List[String]) 
+0

Tôi đã cập nhật m y câu trả lời kể từ khi danh sách chất kết dính bây giờ được xây dựng –

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